var dojoClass = dojo;
var dijitClass = dijit;
if (this["google"] != null && google.maps && google.maps.event) {
	var GoogleEvent = google.maps.event;
}
/*
	DijitObjects = {};
if (!DijitObjects.form)
	DijitObjects.form = {};

DijitObjects.form.__SliderParams = function() {}
*/// Script# Browser Compat Layer
// Copyright (c) 2007, Nikhil Kothari. All Rights Reserved.
// http://projects.nikhilk.net
//
function __loadCompatLayer(w){w.Debug=function(){};w.Debug._fail=function(message){throw new Error(message);};w.Debug.writeln=function(text){if(window.console){if(window.console.debug){window.console.debug(text);return;} else if(window.console.log){window.console.log(text);return;}} else if(window.opera&&window.opera.postError){window.opera.postError(text);return;}};w.__getNonTextNode=function(node){try{while(node&&(node.nodeType!=1)){node=node.parentNode;}} catch(ex){node=null;} return node;};w.__getLocation=function(e){var loc={x:0,y:0};while(e){loc.x+=e.offsetLeft;loc.y+=e.offsetTop;e=e.offsetParent;} return loc;};RegExp._cacheable=true;String._quoteSkipTest=true;w.navigate=function(url){window.setTimeout('window.location = "'+url+'";',0);};var attachEventProxy=function(eventName,eventHandler){eventHandler._mozillaEventHandler=function(e){window.event=e;eventHandler();if(!e.avoidReturn){return e.returnValue;}};this.addEventListener(eventName.slice(2),eventHandler._mozillaEventHandler,false);};var detachEventProxy=function(eventName,eventHandler){if(eventHandler._mozillaEventHandler){var mozillaEventHandler=eventHandler._mozillaEventHandler;delete eventHandler._mozillaEventHandler;this.removeEventListener(eventName.slice(2),mozillaEventHandler,false);}};w.attachEvent=attachEventProxy;w.detachEvent=detachEventProxy;w.HTMLDocument.prototype.attachEvent=attachEventProxy;w.HTMLDocument.prototype.detachEvent=detachEventProxy;w.HTMLElement.prototype.attachEvent=attachEventProxy;w.HTMLElement.prototype.detachEvent=detachEventProxy;w.Event.prototype.__defineGetter__('srcElement',function(){return __getNonTextNode(this.target)||this.currentTarget;});w.Event.prototype.__defineGetter__('cancelBubble',function(){return this._bubblingCanceled||false;});w.Event.prototype.__defineSetter__('cancelBubble',function(v){if(v){this._bubblingCanceled=true;this.stopPropagation();}});w.Event.prototype.__defineGetter__('returnValue',function(){return!this._cancelDefault;});w.Event.prototype.__defineSetter__('returnValue',function(v){if(!v){this._cancelDefault=true;this.preventDefault();}});w.Event.prototype.__defineGetter__('fromElement',function(){var n;if(this.type=='mouseover'){n=this.relatedTarget;} else if(this.type=='mouseout'){n=this.target;} return __getNonTextNode(n);});w.Event.prototype.__defineGetter__('toElement',function(){var n;if(this.type=='mouseout'){n=this.relatedTarget;} else if(this.type=='mouseover'){n=this.target;} return __getNonTextNode(n);});w.Event.prototype.__defineGetter__('button',function(){return(this.which==1)?1:(this.which==3)?2:0});w.Event.prototype.__defineGetter__('offsetX',function(){return window.pageXOffset+this.clientX-__getLocation(this.srcElement).x;});w.Event.prototype.__defineGetter__('offsetY',function(){return window.pageYOffset+this.clientY-__getLocation(this.srcElement).y;});w.HTMLElement.prototype.__defineGetter__('parentElement',function(){return this.parentNode;});w.HTMLElement.prototype.__defineGetter__('children',function(){var children=[];var childCount=this.childNodes.length;for(var i=0;i<childCount;i++){var childNode=this.childNodes[i];if(childNode.nodeType==1){children.push(childNode);}} return children;});w.HTMLElement.prototype.__defineGetter__('innerText',function(){try{return this.textContent} catch(ex){var text='';for(var i=0;i<this.childNodes.length;i++){if(this.childNodes[i].nodeType==3){text+=this.childNodes[i].textContent;}} return str;}});w.HTMLElement.prototype.__defineSetter__('innerText',function(v){var textNode=document.createTextNode(v);this.innerHTML='';this.appendChild(textNode);});w.HTMLElement.prototype.__defineGetter__('currentStyle',function(){return window.getComputedStyle(this,null);});w.HTMLElement.prototype.__defineGetter__('runtimeStyle',function(){return window.getOverrideStyle(this,null);});w.HTMLElement.prototype.removeNode=function(b){return this.parentNode.removeChild(this)};w.HTMLElement.prototype.contains=function(el){while(el!=null&&el!=this){el=el.parentNode;} return(el!=null)};w.HTMLStyleElement.prototype.__defineGetter__('styleSheet',function(){return this.sheet;});w.CSSStyleSheet.prototype.__defineGetter__('rules',function(){return this.cssRules;});w.CSSStyleSheet.prototype.addRule=function(selector,style,index){this.insertRule(selector+'{'+style+'}',index);};w.CSSStyleSheet.prototype.removeRule=function(index){this.deleteRule(index);};w.CSSStyleDeclaration.prototype.__defineGetter__('styleFloat',function(){return this.cssFloat;});w.CSSStyleDeclaration.prototype.__defineSetter__('styleFloat',function(v){this.cssFloat=v;});DocumentFragment.prototype.getElementById=function(id){var nodeQueue=[];var childNodes=this.childNodes;var node;var c;for(c=0;c<childNodes.length;c++){node=childNodes[c];if(node.nodeType==1){nodeQueue.push(node);}} while(nodeQueue.length){node=nodeQueue.dequeue();if(node.id==id){return node;} childNodes=node.childNodes;if(childNodes.length!=0){for(c=0;c<childNodes.length;c++){node=childNodes[c];if(node.nodeType==1){nodeQueue.push(node);}}}} return null;};DocumentFragment.prototype.getElementsByTagName=function(tagName){var elements=[];var nodeQueue=[];var childNodes=this.childNodes;var node;var c;for(c=0;c<childNodes.length;c++){node=childNodes[c];if(node.nodeType==1){nodeQueue.push(node);}} while(nodeQueue.length){node=nodeQueue.dequeue();if(node.tagName==tagName){elements.add(node);} childNodes=node.childNodes;if(childNodes.length!=0){for(c=0;c<childNodes.length;c++){node=childNodes[c];if(node.nodeType==1){nodeQueue.push(node);}}}} return elements;};DocumentFragment.prototype.createElement=function(tagName){return document.createElement(tagName);};var selectNodes=function(doc,path,contextNode){contextNode=contextNode?contextNode:doc;var xpath=new XPathEvaluator();var result=xpath.evaluate(path,contextNode,doc.createNSResolver(doc.documentElement),XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);var nodeList=new Array(result.snapshotLength);for(var i=0;i<result.snapshotLength;i++){nodeList[i]=result.snapshotItem(i);} return nodeList;};var selectSingleNode=function(doc,path,contextNode){path+='[1]';var nodes=selectNodes(doc,path,contextNode);if(nodes.length!=0){for(var i=0;i<nodes.length;i++){if(nodes[i]){return nodes[i];}}} return null;};w.XMLDocument.prototype.selectNodes=function(path,contextNode){return selectNodes(this,path,contextNode);};w.XMLDocument.prototype.selectSingleNode=function(path,contextNode){return selectSingleNode(this,path,contextNode);};w.XMLDocument.prototype.transformNode=function(xsl){var xslProcessor=new XSLTProcessor();xslProcessor.importStylesheet(xsl);var ownerDocument=document.implementation.createDocument("","",null);var transformedDoc=xslProcessor.transformToDocument(this);return transformedDoc.xml;};Node.prototype.selectNodes=function(path){var doc=this.ownerDocument;return doc.selectNodes(path,this);};Node.prototype.selectSingleNode=function(path){var doc=this.ownerDocument;return doc.selectSingleNode(path,this);};Node.prototype.__defineGetter__('baseName',function(){return this.localName;});Node.prototype.__defineGetter__('text',function(){return this.textContent;});Node.prototype.__defineSetter__('text',function(value){this.textContent=value;});Node.prototype.__defineGetter__('xml',function(){return(new XMLSerializer()).serializeToString(this);});}
function __supportsCompatLayer(ua){return(ua.indexOf('Gecko')>=0)||(ua.indexOf('AppleWebKit')>=0)||(ua.indexOf('Opera')>=0);}
if(__supportsCompatLayer(window.navigator.userAgent)){try{__loadCompatLayer(window);} catch(e){}}// Script# Core Runtime
// Copyright (c) 2007, Nikhil Kothari. All Rights Reserved.
// http://projects.nikhilk.net
//
function isUndefined(o){return(o===undefined);}
function isNull(o){return(o===null);}
function isNullOrUndefined(o){return(o===null)||(o===undefined);}
window.__scriptsharp='0.5.1.0';function $(id){return document.getElementById(id);}
document.getElementsBySelector=function(cssSelector,root){var all=root?root.getElementsByTagName('*'):document.getElementsByTagName('*');var matches=[];var styleSheet=document.getElementsBySelector.styleSheet;if(!styleSheet){var styleSheetNode=document.createElement('style');styleSheetNode.type='text/css';document.getElementsByTagName('head')[0].appendChild(styleSheetNode);styleSheet=styleSheetNode.styleSheet||styleSheetNode.sheet;document.getElementsBySelector.styleSheet=styleSheet;} if(window.navigator.userAgent.indexOf('MSIE')>=0){styleSheet.addRule(cssSelector,'ssCssMatch:true',0);for(var i=all.length-1;i>=0;i--){var element=all[i];if(element.currentStyle.ssCssMatch){matches[matches.length]=element;}} styleSheet.removeRule(0);} else{var matchValue=document.getElementsBySelector.matchValue;if(!matchValue){matchValue=(window.navigator.userAgent.indexOf('Opera')>=0)?'"ssCssMatch"':'ssCssMatch 1';document.getElementsBySelector.matchValue=matchValue;} styleSheet.insertRule(cssSelector+' { counter-increment: ssCssMatch }',0);var docView=document.defaultView;for(var i=all.length-1;i>=0;i--){var element=all[i];if(docView.getComputedStyle(element,null).counterIncrement===matchValue){matches[matches.length]=element;}} styleSheet.deleteRule(0);} if(matches.length>1){matches.reverse();} return matches;}
Object.__typeName='Object';Object.__baseType=null;Object.parse=function(s){return eval(s);}
Object.getKeyCount=function(d){var count=0;for(var n in d){count++;} return count;}
Object.clearKeys=function(d){for(var n in d){delete d[n];}}
Object.keyExists=function(d,key){return d[key]!==undefined;}
Function.parse=function(s){if(!Function._parseCache){Function._parseCache={};} var fn=Function._parseCache[s];if(!fn){try{eval('fn = '+s);if(typeof(fn)!='function'){fn=null;} else{Function._parseCache[s]=fn;}} catch(ex){}} return fn;}
Function.prototype.invoke=function(){this.apply(null,arguments);}
Boolean.__typeName='Boolean';Boolean.parse=function(s){return(s.toLowerCase()=='true');}
Number.__typeName='Number';Number.parse=function(s){if(!s||!s.length){return 0;} if((s.indexOf('.')>=0)||(s.indexOf('e')>=0)||s.endsWith('f')||s.endsWith('F')){return parseFloat(s);} return parseInt(s);}
/*Number.prototype.format=function(format,useLocale){if(isNullOrUndefined(format)||(format.length==0)||(format=='i')){if(useLocale){return this.toLocaleString();} else{return this.toString();}} return this._netFormat(format,useLocale);}*/
Number._commaFormat=function(number,groups,decimal,comma){var decimalPart=null;var decimalIndex=number.indexOf(decimal);if(decimalIndex>0){decimalPart=number.substr(decimalIndex);number=number.substr(0,decimalIndex);} var negative=number.startsWith('-');if(negative){number=number.substr(1);} var groupIndex=0;var groupSize=groups[groupIndex];if(number.length<groupSize){return decimalPart?number+decimalPart:number;} var index=number.length;var s='';var done=false;while(!done){var length=groupSize;var startIndex=index-length;if(startIndex<0){groupSize+=startIndex;length+=startIndex;startIndex=0;done=true;} if(!length){break;} var part=number.substr(startIndex,length);if(s.length){s=part+comma+s;} else{s=part;} index-=length;if(groupIndex<groups.length-1){groupIndex++;groupSize=groups[groupIndex];}} if(negative){s='-'+s;} return decimalPart?s+decimalPart:s;}
Number.prototype._netFormat=function(format,useLocale){var nf=useLocale?CultureInfo.Current.numberFormat:CultureInfo.Neutral.numberFormat;var s='';var precision=-1;if(format.length>1){precision=parseInt(format.substr(1));} var fs=format.charAt(0);switch(fs){case'd':case'D':s=parseInt(Math.abs(this)).toString();if(precision!=-1){s=s.padLeft(precision,'0');} if(this<0){s='-'+s;} break;case'x':case'X':s=parseInt(Math.abs(this)).toString(16);if(fs=='X'){s=s.toUpperCase();} if(precision!=-1){s=s.padLeft(precision,'0');} break;case'e':case'E':if(precision==-1){s=this.toExponential();} else{s=this.toExponential(precision);} if(fs=='E'){s=s.toUpperCase();} break;case'f':case'F':case'n':case'N':if(precision==-1){precision=nf.numberDecimalDigits;} s=this.toFixed(precision).toString();if(precision&&(nf.numberDecimalSeparator!='.')){var index=s.indexOf('.');s=s.substr(0,index)+nf.numberDecimalSeparator+s.substr(index+1);} if((fs=='n')||(fs=='N')){s=Number._commaFormat(s,nf.numberGroupSizes,nf.numberDecimalSeparator,nf.numberGroupSeparator);} break;case'c':case'C':if(precision==-1){precision=nf.currencyDecimalDigits;} s=Math.abs(this).toFixed(precision).toString();if(precision&&(nf.currencyDecimalSeparator!='.')){var index=s.indexOf('.');s=s.substr(0,index)+nf.currencyDecimalSeparator+s.substr(index+1);} s=Number._commaFormat(s,nf.currencyGroupSizes,nf.currencyDecimalSeparator,nf.currencyGroupSeparator);if(this<0){s=String.format(nf.currencyNegativePattern,s);} else{s=String.format(nf.currencyPositivePattern,s);} break;case'p':case'P':if(precision==-1){precision=nf.percentDecimalDigits;} s=(Math.abs(this)*100.0).toFixed(precision).toString();if(precision&&(nf.percentDecimalSeparator!='.')){var index=s.indexOf('.');s=s.substr(0,index)+nf.percentDecimalSeparator+s.substr(index+1);} s=Number._commaFormat(s,nf.percentGroupSizes,nf.percentDecimalSeparator,nf.percentGroupSeparator);if(this<0){s=String.format(nf.percentNegativePattern,s);} else{s=String.format(nf.percentPositivePattern,s);} break;} return s;}
Math.truncate=function(n){return(n>=0)?Math.floor(n):Math.ceil(n);}
String.__typeName='String';String.Empty='';String.compare=function(s1,s2,ignoreCase){if(ignoreCase){if(s1){s1=s1.toUpperCase();} if(s2){s2=s2.toUpperCase();}} s1=s1||'';s2=s2||'';if(s1==s2){return 0;} if(s1<s2){return-1;} return 1;}
String.prototype.compareTo=function(s,ignoreCase){return String.compare(this,s,ignoreCase);}
String.prototype.endsWith=function(suffix){if(!suffix.length){return true;} if(suffix.length>this.length){return false;} return(this.substr(this.length-suffix.length)==suffix);}
String.equals=function(s1,s2,ignoreCase){return String.compare(s1,s2,ignoreCase)==0;}
String._format=function(format,values,useLocale){if(!String._formatRE){String._formatRE=/(\{[^\}^\{]+\})/g;} return format.replace(String._formatRE,function(str,m){var index=parseInt(m.substr(1));var value=values[index+1];if(isNullOrUndefined(value)){return'';} if(value.format){var formatSpec=null;var formatIndex=m.indexOf(':');if(formatIndex>0){formatSpec=m.substring(formatIndex+1,m.length-1);} return value.format.call(value,formatSpec,useLocale);} else{if(useLocale){return value.toLocaleString();} return value.toString();}});}
String.format=function(format){return String._format(format,arguments,false);}
String.fromChar=function(ch,count){var s=ch;for(var i=1;i<count;i++){s+=ch;} return s;}
String.prototype.htmlDecode=function(){if(!String._htmlDecRE){String._htmlDecMap={'&amp;':'&','&lt;':'<','&gt;':'>','&quot;':'"'};String._htmlDecRE=/(&amp;|&lt;|&gt;|&quot;)/gi;} var s=this;s=s.replace(String._htmlDecRE,function(str,m){return String._htmlDecMap[m];});return s;}
String.prototype.htmlEncode=function(){if(!String._htmlEncRE){String._htmlEncMap={'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;'};String._htmlEncRE=/([&<>"])/g;} var s=this;if(String._htmlEncRE.test(s)){s=s.replace(String._htmlEncRE,function(str,m){return String._htmlEncMap[m];});} return s;}
String.prototype.indexOfAny=function(chars,startIndex,count){var length=this.length;if(!length){return-1;} startIndex=startIndex||0;count=count||length;var endIndex=startIndex+count-1;if(endIndex>=length){endIndex=length-1;} for(var i=startIndex;i<=endIndex;i++){if(chars.indexOf(this.charAt(i))>=0){return i;}} return-1;}
String.prototype.insert=function(index,value){if(!value){return this;} if(!index){return value+this;} var s1=this.substr(0,index);var s2=this.substr(index);return s1+value+s2;}
String.isNullOrEmpty=function(s){return!s||!s.length;}
String.prototype.lastIndexOfAny=function(chars,startIndex,count){var length=this.length;if(!length){return-1;} startIndex=startIndex||length-1;count=count||length;var endIndex=startIndex-count+1;if(endIndex<0){endIndex=0;} for(var i=startIndex;i>=endIndex;i--){if(chars.indexOf(this.charAt(i))>=0){return i;}} return-1;}
String.localeFormat=function(format){return String._format(format,arguments,true);}
String.prototype.padLeft=function(totalWidth,ch){if(this.length<totalWidth){ch=ch||' ';return String.fromChar(ch,totalWidth-this.length)+this;} return this;}
String.prototype.padRight=function(totalWidth,ch){if(this.length<totalWidth){ch=ch||' ';return this+String.fromChar(ch,totalWidth-this.length);} return this;}
String.prototype.quote=function(){if(!String._quoteMap){String._quoteMap={'\\':'\\\\','\'':'\\\'','"':'\\"','\r':'\\r','\n':'\\n','\t':'\\t','\f':'\\f','\b':'\\b'};} if(!String._quoteRE||!RegExp._cacheable){String._quoteRE=new RegExp("([\'\"\\\\\x00-\x1F\x7F-\uFFFF])","g");} var s=this;if(String._quoteSkipTest||String._quoteRE.test(s)){s=this.replace(String._quoteRE,function(str,m){var c=String._quoteMap[m];if(c){return c;} c=m.charCodeAt(0);return'\\u'+c.toString(16).toUpperCase().padLeft(4,'0');});} return'"'+s+'"';}
String.prototype.remove=function(index,count){if(!count||((index+count)>this.length)){return this.substr(0,index);} return this.substr(0,index)+this.substr(index+count);}
String.prototype._replace=String.prototype.replace;String.prototype.replace=function(oldValue,newValue){if(oldValue.constructor==String){newValue=newValue||'';return this.split(oldValue).join(newValue);} return String.prototype._replace.call(this,oldValue,newValue);}
String.prototype.startsWith=function(prefix){if(!prefix.length){return true;} if(prefix.length>this.length){return false;} return(this.substr(0,prefix.length)==prefix);}
String.prototype.trim=function(){return this.trimEnd().trimStart();}
String.prototype.trimEnd=function(){return this.replace(/\s*$/,'');}
String.prototype.trimStart=function(){return this.replace(/^\s*/,'');}
String.prototype.unquote=function(){return eval('('+this+')');}
Array.__typeName='Array';Array.prototype.add=function(item){this[this.length]=item;}
Array.prototype.addRange=function(items){if(!items){return;} var length=items.length;for(var index=0;index<length;index++){this[this.length]=items[index];}}
Array.prototype.aggregate=function(seed,callback){var length=this.length;for(var index=0;index<length;index++){seed=callback(seed,this[index],index,this);} return seed;}
Array.prototype.clear=function(){if(this.length>0){this.splice(0,this.length);}}
Array.prototype.clone=function(){var length=this.length;var array=new Array(length);for(var index=0;index<length;index++){array[index]=this[index];} return array;}
Array.prototype.contains=function(item){var index=this.indexOf(item);return(index>=0);}
Array.prototype.dequeue=function(){return this.shift();}
Array.prototype.enqueue=function(item){this._queue=true;this.push(item);}
Array.prototype.peek=function(){if(this.length){var index=this._queue?0:this.length-1;return this[index];} return null;}
if(!Array.prototype.every){Array.prototype.every=function(callback){for(var i=this.length-1;i>=0;i--){if(!callback(this[i],i,this)){return false;}} return true;}}
Array.prototype.extract=function(index,count){if(!count){return this.slice(index);} return this.slice(index,index+count);}
if(!Array.prototype.filter){Array.prototype.filter=function(callback){var filtered=[];for(var i=0;i<this.length;i++){if(callback(this[i],i,this)){filtered.add(this[i]);}} return filtered;}}
if(!Array.prototype.forEach){Array.prototype.forEach=function(callback){for(var i=0;i<this.length;i++){callback(this[i],i,this);}}}
Array.prototype.groupBy=function(callback){var length=this.length;var groups=[];var keys={};for(var index=0;index<length;index++){var key=callback(this[index],index);if(String.isNullOrEmpty(key)){continue;} var items=keys[key];if(!items){items=[];items.key=key;keys[key]=items;groups.add(items);} items.add(this[index]);} return groups;}
Array.prototype.index=function(callback){var length=this.length;var items={};for(var index=0;index<length;index++){var key=callback(this[index],index);if(String.isNullOrEmpty(key)){continue;} items[key]=this[index];} return items;}
Array.prototype.indexOf=function(item){var length=this.length;if(length){for(var index=0;index<length;index++){if(this[index]===item){return index;}}} return-1;}
Array.prototype.insert=function(index,item){this.splice(index,0,item);}
Array.prototype.insertRange=function(index,items){this.splice(index,0,items);}
if(!Array.prototype.map){Array.prototype.map=function(callback){var mapped=new Array(this.length);for(var i=this.length-1;i>=0;i--){mapped[i]=callback(this[i],i,this);} return mapped;}}
Array.parse=function(s){return eval('('+s+')');}
Array.prototype.remove=function(item){var index=this.indexOf(item);if(index>=0){this.splice(index,1);return true;} return false;}
Array.prototype.removeAt=function(index){return this.splice(index,1)[0];}
Array.prototype.removeRange=function(index,count){return this.splice(index,count);}
if(!Array.prototype.some){Array.prototype.some=function(callback){for(var i=this.length-1;i>=0;i--){if(callback(this[i],i,this)){return true;}} return false;}}
RegExp.__typeName='RegExp';RegExp.parse=function(s){if(s.startsWith('/')){var endSlashIndex=s.lastIndexOf('/');if(endSlashIndex>1){var expression=s.substring(1,endSlashIndex);var flags=s.substr(endSlashIndex+1);return new RegExp(expression,flags);}} return null;}
Date.__typeName='Date';Date.get_now=function(){return new Date();}
Date.get_today=function(){var d=new Date();return new Date(d.getFullYear(),d.getMonth(),d.getDate());}
Date.prototype.format=function(format,useLocale){if(isNullOrUndefined(format)||(format.length==0)||(format=='i')){if(useLocale){return this.toLocaleString();} else{return this.toString();}} if(format=='id'){if(useLocale){return this.toLocaleDateString();} else{return this.toDateString();}} if(format=='it'){if(useLocale){return this.toLocaleTimeString();} else{return this.toTimeString();}} return this._netFormat(format,useLocale);}
Date.prototype._netFormat=function(format,useLocale){var dtf=useLocale?CultureInfo.Current.dateFormat:CultureInfo.Neutral.dateFormat;var useUTC=false;if(format.length==1){switch(format){case'f':format=dtf.longDatePattern+' '+dtf.shortTimePattern;case'F':format=dtf.dateTimePattern;break;case'd':format=dtf.shortDatePattern;break;case'D':format=dtf.longDatePattern;break;case't':format=dtf.shortTimePattern;break;case'T':format=dtf.longTimePattern;break;case'g':format=dtf.shortDatePattern+' '+dtf.shortTimePattern;break;case'G':format=dtf.shortDatePattern+' '+dtf.longTimePattern;break;case'R':case'r':format=dtf.gmtDateTimePattern;useUTC=true;break;case'u':format=dtf.universalDateTimePattern;useUTC=true;break;case'U':format=dtf.dateTimePattern;useUTC=true;break;case's':format=dtf.sortableDateTimePattern;break;}} if(format.charAt(0)=='%'){format=format.substr(1);} if(!Date._formatRE){Date._formatRE=/dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g;} var re=Date._formatRE;var sb=new StringBuilder();var dt=this;if(useUTC){dt=new Date(Date.UTC(dt.getUTCFullYear(),dt.getUTCMonth(),dt.getUTCDate(),dt.getUTCHours(),dt.getUTCMinutes(),dt.getUTCSeconds(),dt.getUTCMilliseconds()));} re.lastIndex=0;while(true){var index=re.lastIndex;var match=re.exec(format);sb.append(format.slice(index,match?match.index:format.length));if(!match){break;} var fs=match[0];var part=fs;switch(fs){case'dddd':part=dtf.dayNames[dt.getDay()];break;case'ddd':part=dtf.shortDayNames[dt.getDay()];break;case'dd':part=dt.getDate().toString().padLeft(2,'0');break;case'd':part=dt.getDate();break;case'MMMM':part=dtf.monthNames[dt.getMonth()];break;case'MMM':part=dtf.shortMonthNames[dt.getMonth()];break;case'MM':part=(dt.getMonth()+1).toString().padLeft(2,'0');break;case'M':part=(dt.getMonth()+1);break;case'yyyy':part=dt.getFullYear();break;case'yy':part=(dt.getFullYear()%100).toString().padLeft(2,'0');break;case'y':part=(dt.getFullYear()%100);break;case'h':case'hh':part=dt.getHours()%12;if(!part){part='12';} else if(fs=='hh'){part=part.toString().padLeft(2,'0');} break;case'HH':part=dt.getHours().toString().padLeft(2,'0');break;case'H':part=dt.getHours();break;case'mm':part=dt.getMinutes().toString().padLeft(2,'0');break;case'm':part=dt.getMinutes();break;case'ss':part=dt.getSeconds().toString().padLeft(2,'0');break;case's':part=dt.getSeconds();break;case't':case'tt':part=(dt.getHours()<12)?dtf.amDesignator:dtf.pmDesignator;if(fs=='t'){part=part.charAt(0);} break;case'fff':part=dt.getMilliseconds().toString().padLeft(3,'0');break;case'ff':part=dt.getMilliseconds().toString().padLeft(3).substr(0,2);break;case'f':part=dt.getMilliseconds().toString().padLeft(3).charAt(0);break;case'z':part=dt.getTimezoneOffset()/60;part=((part>=0)?'-':'+')+Math.floor(Math.abs(part));break;case'zz':case'zzz':part=dt.getTimezoneOffset()/60;part=((part>=0)?'-':'+')+Math.floor(Math.abs(part)).toString().padLeft(2,'0');if(fs=='zzz'){part+=dtf.timeSeparator+Math.abs(dt.getTimezoneOffset()%60).toString().padLeft(2,'0');} break;} sb.append(part);} return sb.toString();}
Date._parse=Date.parse;Date.parse=function(s){return new Date(Date._parse(s));}
Error.__typeName='Error';Error.create=function(message,userData,innerException){var e=new Error(message);if(userData){e.userData=userData;} if(innerException){e.innerException=innerException;} return e;}
if(!Debug._fail){Debug._fail=function(message){Debug.writeln(message);eval('debugger;');}}
Debug.assert=function(condition,message){if(!condition){message='Assert failed: '+message;if(confirm(message+'\r\n\r\nBreak into debugger?')){Debug._fail(message);}}}
Debug._dumpCore=function(sb,object,name,indentation,dumpedObjects){if(object===null){sb.appendLine(indentation+name+': null');return;} switch(typeof(object)){case'undefined':sb.appendLine(indentation+name+': undefined');break;case'number':case'string':case'boolean':sb.appendLine(indentation+name+': '+object);break;default:if(Date.isInstance(object)||RegExp.isInstance(object)){sb.appendLine(indentation+name+': '+object);break;} if(dumpedObjects.contains(object)){sb.appendLine(indentation+name+': ...');break;} dumpedObjects.add(object);var type=Type.getInstanceType(object);var typeName=type.get_fullName();var recursiveIndentation=indentation+'  ';if(IArray.isInstance(object)){sb.appendLine(indentation+name+': {'+typeName+'}');var length=object.getLength();for(var i=0;i<length;i++){Debug._dumpCore(sb,object.getItem(i),'['+i+']',recursiveIndentation,dumpedObjects);}} else{if(object.tagName){sb.appendLine(indentation+name+': <'+object.tagName+'>');var attributes=object.attributes;for(var i=0;i<attributes.length;i++){var attrValue=attributes[i].nodeValue;if(attrValue){Debug._dumpCore(sb,attrValue,attributes[i].nodeName,recursiveIndentation,dumpedObjects);}}} else{sb.appendLine(indentation+name+': {'+typeName+'}');for(var field in object){var v=object[field];if(!Function.isInstance(v)){Debug._dumpCore(sb,v,field,recursiveIndentation,dumpedObjects);}}}} dumpedObjects.remove(object);break;}}
Debug.dump=function(object,name){if((!name||!name.length)&&(object!==null)){name=Type.getInstanceType(object).get_fullName();} if(!name||!name.length){return;} var sb=new StringBuilder();Debug._dumpCore(sb,object,name,'',[]);Debug.writeLine(sb.toString());}
Debug.fail=function(message){Debug._fail(message);}
Debug.inspect=function(object,name){var dumped=false;if(window.debugService){dumped=window.debugService.inspect(name,object);} if(!dumped){Debug.dump(object,name);}}
Debug.writeLine=function(message){if(window.debugService){window.debugService.trace(message);return;} Debug.writeln(message);var traceTextBox=$('_traceTextBox');if(traceTextBox){traceTextBox.value=traceTextBox.value+'\r\n'+message;}}
Debug.__typeName='Debug';var Type=Function;Type.__typeName='Type';var __Namespace=function(name){this.__typeName=name;}
__Namespace.prototype={__namespace:true,getName:function(){return this.__typeName;}}
Type.createNamespace=function(name){if(!window.__namespaces){window.__namespaces={};} if(!window.__rootNamespaces){window.__rootNamespaces=[];} if(window.__namespaces[name]){return;} var ns=window;var nameParts=name.split('.');for(var i=0;i<nameParts.length;i++){var part=nameParts[i];var nso=ns[part];if(!nso){ns[part]=nso=new __Namespace(nameParts.slice(0,i+1).join('.'));if(i==0){window.__rootNamespaces.add(nso);}} ns=nso;} window.__namespaces[name]=ns;}
Type.prototype.createClass=function(name,baseType,interfaceType){this.prototype.constructor=this;this.__typeName=name;this.__class=true;this.__baseType=baseType||Object;if(baseType){this.__basePrototypePending=true;} if(interfaceType){this.__interfaces=[];for(var i=2;i<arguments.length;i++){interfaceType=arguments[i];this.__interfaces.add(interfaceType);}}}
Type.prototype.createInterface=function(name){this.__typeName=name;this.__interface=true;}
Type.prototype.createEnum=function(name,flags){for(var field in this.prototype){this[field]=this.prototype[field];} this.__typeName=name;this.__enum=true;if(flags){this.__flags=true;}}
Type.prototype.setupBase=function(){if(this.__basePrototypePending){var baseType=this.__baseType;if(baseType.__basePrototypePending){baseType.setupBase();} for(var memberName in baseType.prototype){var memberValue=baseType.prototype[memberName];if(!this.prototype[memberName]){this.prototype[memberName]=memberValue;}} delete this.__basePrototypePending;}}
if(!Type.prototype.resolveInheritance){Type.prototype.resolveInheritance=Type.prototype.setupBase;}
Type.prototype.constructBase=function(instance,args){if(this.__basePrototypePending){this.setupBase();} if(!args){this.__baseType.apply(instance);} else{this.__baseType.apply(instance,args);}}
Type.prototype.callBase=function(instance,name,args){var baseMethod=this.__baseType.prototype[name];if(!args){return baseMethod.apply(instance);} else{return baseMethod.apply(instance,args);}}
Type.prototype.get_baseType=function(){return this.__baseType||null;}
Type.prototype.get_fullName=function(){return this.__typeName;}
Type.prototype.get_name=function(){var fullName=this.__typeName;var nsIndex=fullName.lastIndexOf('.');if(nsIndex>0){return fullName.substr(nsIndex+1);} return fullName;}
Type.prototype.isInstance=function(instance){if(isNullOrUndefined(instance)){return false;} if((this==Object)||(instance instanceof this)){return true;} var type=Type.getInstanceType(instance);return this.isAssignableFrom(type);}
Type.prototype.isAssignableFrom=function(type){if((this==Object)||(this==type)){return true;} if(this.__class){var baseType=type.__baseType;while(baseType){if(this==baseType){return true;} baseType=baseType.__baseType;}} else if(this.__interface){var interfaces=type.__interfaces;if(interfaces&&interfaces.contains(this)){return true;} var baseType=type.__baseType;while(baseType){interfaces=baseType.__interfaces;if(interfaces&&interfaces.contains(this)){return true;} baseType=baseType.__baseType;}} return false;}
Type.isClass=function(type){return(type.__class==true);}
Type.isEnum=function(type){return(type.__enum==true);}
Type.isFlagsEnum=function(type){return((type.__enum==true)&&(type.__flags==true));}
Type.isInterface=function(type){return(type.__interface==true);}
Type.canCast=function(instance,type){return type.isInstance(instance);}
Type.safeCast=function(instance,type){if(type.isInstance(instance)){return instance;} return null;}
Type.getInstanceType=function(instance){var ctor=null;try{ctor=instance.constructor;} catch(ex){} if(!ctor||!ctor.__typeName){ctor=Object;} return ctor;}
Type.getType=function(typeName){if(!typeName){return null;} if(!Type.__typeCache){Type.__typeCache={};} var type=Type.__typeCache[typeName];if(!type){type=eval(typeName);Type.__typeCache[typeName]=type;} return type;}
Type.parse=function(typeName){return Type.getType(typeName);}
var Enum=function(){}
Enum.createClass('Enum');Enum.parse=function(enumType,s){var values=enumType.prototype;if(!enumType.__flags){for(var f in values){if(f===s){return values[f];}}} else{var parts=s.split('|');var value=0;var parsed=true;for(var i=parts.length-1;i>=0;i--){var part=parts[i].trim();var found=false;for(var f in values){if(f===part){value|=values[f];found=true;break;}} if(!found){parsed=false;break;}} if(parsed){return value;}} throw'Invalid Enumeration Value';}
Enum.toString=function(enumType,value){var values=enumType.prototype;if(!enumType.__flags||(value===0)){for(var i in values){if(values[i]===value){return i;}} throw'Invalid Enumeration Value';} else{var parts=[];for(var i in values){if(values[i]&value){if(parts.length){parts.add(' | ');} parts.add(i);}} if(!parts.length){throw'Invalid Enumeration Value';} return parts.join('');}}
var Delegate=function(){}
Delegate.createClass('Delegate');Delegate.Null=function(){}
Delegate._create=function(targets){var delegate=function(){if(targets.length==2){return targets[1].apply(targets[0],arguments);} else{for(var i=0;i<targets.length;i+=2){targets[i+1].apply(targets[i],arguments);} return null;}};delegate.invoke=delegate;delegate._targets=targets;return delegate;}
Delegate.create=function(object,method){if(!object){method.invoke=method;return method;} return Delegate._create([object,method]);}
Delegate.combine=function(delegate1,delegate2){if(!delegate1){if(!delegate2._targets){return Delegate.create(null,delegate2);} return delegate2;} if(!delegate2){if(!delegate1._targets){return Delegate.create(null,delegate1);} return delegate1;} var targets1=delegate1._targets?delegate1._targets:[null,delegate1];var targets2=delegate2._targets?delegate2._targets:[null,delegate2];return Delegate._create(targets1.concat(targets2));}
Delegate.remove=function(delegate1,delegate2){if(!delegate1||(delegate1===delegate2)){return null;} if(!delegate2){return delegate1;} var targets=delegate1._targets;var object=null;var method;if(delegate2._targets){object=delegate2._targets[0];method=delegate2._targets[1];} else{method=delegate2;} for(var i=0;i<targets.length;i+=2){if((targets[i]===object)&&(targets[i+1]===method)){if(targets.length==2){return null;} targets.splice(i,2);return Delegate._create(targets);}} return delegate1;}
Delegate.createExport=function(delegate,multiUse){var name='__'+(new Date()).valueOf();Delegate[name]=function(){if(!multiUse){Delegate.deleteExport(name);} delegate.apply(null,arguments);};return name;}
Delegate.deleteExport=function(name){if(Delegate[name]){delete Delegate[name];}}
Delegate.clearExport=function(name){if(Delegate[name]){Delegate[name]=Delegate.Null;}}
var CultureInfo=function(name,numberFormat,dateFormat){this.name=name;this.numberFormat=numberFormat;this.dateFormat=dateFormat;}
CultureInfo.createClass('CultureInfo');CultureInfo.Neutral=new CultureInfo('en-US',{naNSymbol:'NaN',negativeSign:'-',positiveSign:'+',negativeInfinityText:'-Infinity',positiveInfinityText:'Infinity',percentSymbol:'%',percentGroupSizes:[3],percentDecimalDigits:2,percentDecimalSeparator:'.',percentGroupSeparator:',',percentPositivePattern:'{0} %',percentNegativePattern:'-{0} %',currencySymbol:'$',currencyGroupSizes:[3],currencyDecimalDigits:2,currencyDecimalSeparator:'.',currencyGroupSeparator:',',currencyNegativePattern:'(${0})',currencyPositivePattern:'${0}',numberGroupSizes:[3],numberDecimalDigits:2,numberDecimalSeparator:'.',numberGroupSeparator:','},{amDesignator:'AM',pmDesignator:'PM',dateSeparator:'/',timeSeparator:':',gmtDateTimePattern:'ddd, dd MMM yyyy HH:mm:ss \'GMT\'',universalDateTimePattern:'yyyy-MM-dd HH:mm:ssZ',sortableDateTimePattern:'yyyy-MM-ddTHH:mm:ss',dateTimePattern:'dddd, MMMM dd, yyyy h:mm:ss tt',longDatePattern:'dddd, MMMM dd, yyyy',shortDatePattern:'M/d/yyyy',longTimePattern:'h:mm:ss tt',shortTimePattern:'h:mm tt',firstDayOfWeek:0,dayNames:['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],shortDayNames:['Sun','Mon','Tue','Wed','Thu','Fri','Sat'],minimizedDayNames:['Su','Mo','Tu','We','Th','Fr','Sa'],monthNames:['January','February','March','April','May','June','July','August','September','October','November','December',''],shortMonthNames:['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec','']});CultureInfo.Current=CultureInfo.Neutral;var IArray=function(){};IArray.createInterface('IArray');var IEnumerator=function(){};IEnumerator.createInterface('IEnumerator');var IEnumerable=function(){};IEnumerable.createInterface('IEnumerable');var ArrayEnumerator=function(array){this._array=array;this._index=-1;}
ArrayEnumerator.prototype={get_current:function(){return this._array[this._index];},moveNext:function(){this._index++;return(this._index<this._array.length);},reset:function(){this._index=-1;}}
ArrayEnumerator.createClass('ArrayEnumerator',null,IEnumerator);Array.__interfaces=[IArray,IEnumerable];Array.prototype.getLength=function(){return this.length;}
Array.prototype.getItem=function(index){return this[index];}
Array.prototype.getEnumerator=function(){return new ArrayEnumerator(this);}
var IDisposable=function(){};IDisposable.createInterface('IDisposable');var IServiceProvider=function(){};IServiceProvider.createInterface('IServiceProvider');var IServiceContainer=function(){};IServiceContainer.createInterface('IServiceContainer');var StringBuilder=function(s){if((s!==undefined)&&(s!==null)){this._parts=[s];} else{this._parts=[];}}
StringBuilder.prototype={get_isEmpty:function(){return(this._parts.length==0);},append:function(s){if((s!==undefined)&&(s!==null)){this._parts.add(s);}},appendLine:function(s){this.append(s);this.append('\r\n');},clear:function(){this._parts.clear();},toString:function(){return this._parts.join('');}};StringBuilder.createClass('StringBuilder');var EventArgs=function(){}
EventArgs.createClass('EventArgs');EventArgs.Empty=new EventArgs();if(!window.XMLHttpRequest){window.XMLHttpRequest=function(){var progIDs=['Msxml2.XMLHTTP','Microsoft.XMLHTTP'];for(var i=0;i<progIDs.length;i++){try{var xmlHttp=new ActiveXObject(progIDs[i]);return xmlHttp;} catch(ex){}} return null;}}
var XMLDocumentParser=function(){}
XMLDocumentParser.createClass('XMLDocumentParser');XMLDocumentParser.parse=function(markup){if(!window.DOMParser){var progIDs=['Msxml2.DOMDocument.3.0','Msxml2.DOMDocument'];for(var i=0;i<progIDs.length;i++){try{var xmlDOM=new ActiveXObject(progIDs[i]);xmlDOM.async=false;xmlDOM.loadXML(markup);xmlDOM.setProperty('SelectionLanguage','XPath');return xmlDOM;} catch(ex){}}} else{try{var domParser=new DOMParser();return domParser.parseFromString(markup,'text/xml');} catch(ex){}} return null;}
var ScriptLoader=function ScriptLoader(scriptURLs){Debug.assert((scriptURLs)&&(scriptURLs.length));this._scriptURLs=scriptURLs;this._scriptLoadIndex=-1;}
ScriptLoader.prototype={_scriptURLs:null,_loadedHandler:null,_errorHandler:null,_isIE:false,_onLoadHandler:null,_onErrorHandler:null,_scriptLoadIndex:0,_scriptElements:null,_loadedScripts:0,_inError:false,_loaded:false,dispose:function(){if(this._scriptElements){for(var i=0;i<this._scriptElements.length;i++){var scriptElement=this._scriptElements[i];if(this._isIE){scriptElement.detachEvent('onreadystatechange',this._onLoadHandler);} else{scriptElement.detachEvent('onload',this._onLoadHandler);scriptElement.detachEvent('onerror',this._onErrorHandler);}} this._scriptElements=null;}},load:function(loadInParallel,timeout,loadedHandler,errorHandler){Debug.assert(loadedHandler);Debug.assert(errorHandler);this._loadedHandler=loadedHandler;this._errorHandler=errorHandler;this._isIE=(window.navigator.userAgent.indexOf('MSIE')>=0);this._onLoadHandler=Delegate.create(this,this._onScriptLoad);if(!this._isIE){this._onErrorHandler=Delegate.create(this,this._onScriptError);} this._scriptElements=[];if(loadInParallel){for(var i=0;i<this._scriptURLs.length;i++){this._loadScript(this._scriptURLs[i]);}} else{this._scriptLoadIndex++;this._loadScript(this._scriptURLs[this._scriptLoadIndex]);} if(timeout){window.setTimeout(Delegate.create(this,this._onScriptError),timeout);}},_loadScript:function(scriptURL){var scriptElement=document.createElement('SCRIPT');if(this._isIE){scriptElement.attachEvent('onreadystatechange',this._onLoadHandler);} else{scriptElement.readyState='complete';scriptElement.attachEvent('onload',this._onLoadHandler);scriptElement.attachEvent('onerror',this._onErrorHandler);} scriptElement.type='text/javascript';scriptElement.src=scriptURL;this._scriptElements.add(scriptElement);document.getElementsByTagName('HEAD')[0].appendChild(scriptElement);},_onScriptError:function(){if((!this._inError)&&(!this._loaded)){this._inError=true;this._errorHandler.invoke(this,EventArgs.Empty);}},_onScriptLoad:function(){if(this._inError){return;} var scriptElement=window.event.srcElement;if(!scriptElement.readyState){scriptElement=window.event.currentTarget;} if((scriptElement.readyState!='complete')&&(scriptElement.readyState!='loaded')){return;} if(this._scriptLoadIndex!=-1){this._scriptLoadIndex++;if(this._scriptLoadIndex!=this._scriptURLs.length){this._loadScript(this._scriptURLs[this._scriptLoadIndex]);return;}} else{this._loadedScripts++;if(this._loadedScripts!=this._scriptURLs.length){return;}} this._loaded=true;this._loadedHandler.invoke(this,EventArgs.Empty);}};ScriptLoader.createClass('ScriptLoader',null,IDisposable);var ScriptHost=function ScriptHost(){}
ScriptHost.get_isLoading=function(){return ScriptHost._loading;}
ScriptHost.add_load=function(value){if(ScriptHost._loaded){value.invoke(null,EventArgs.Empty);} else{ScriptHost._loadHandler=Delegate.combine(ScriptHost._loadHandler,value);}}
ScriptHost.remove_load=function(value){ScriptHost._loadHandler=Delegate.remove(ScriptHost._loadHandler,value);}
ScriptHost.add_unload=function(value){ScriptHost._unloadHandler=Delegate.combine(ScriptHost._unloadHandler,value);}
ScriptHost.remove_unload=function(value){ScriptHost._unloadHandler=Delegate.remove(ScriptHost._unloadHandler,value);}
ScriptHost.close=function(){if(ScriptHost._fxScripts){ScriptHost._fxScripts.dispose();ScriptHost._fxScripts=null;} if(ScriptHost._coreScripts){ScriptHost._coreScripts.dispose();ScriptHost._coreScripts=null;} if(ScriptHost._unloadHandler){ScriptHost._unloadHandler.invoke(null,EventArgs.Empty);ScriptHost._unloadHandler=null;} if(ScriptHost._windowLoadHandler){window.detachEvent('onload',ScriptHost._windowLoadHandler);ScriptHost._windowLoadHandler=null;} if(ScriptHost._windowUnloadHandler){window.detachEvent('onunload',ScriptHost._windowUnloadHandler);ScriptHost._windowUnloadHandler=null;}}
ScriptHost.initialize=function(coreScriptURLs,fxScriptURLs){if(!ScriptHost._initialized){ScriptHost._initialized=true;if(ScriptHost._windowLoadHandler){window.detachEvent('onload',ScriptHost._windowLoadHandler);ScriptHost._windowLoadHandler=null;} if((coreScriptURLs)&&(coreScriptURLs.length)){ScriptHost._coreScripts=new ScriptLoader(coreScriptURLs);} if((fxScriptURLs)&&(fxScriptURLs.length)){ScriptHost._fxScripts=new ScriptLoader(fxScriptURLs);} if((!ScriptHost._coreScripts)&&(!ScriptHost._fxScripts)){ScriptHost._onLoaded();} else{ScriptHost._loadScripts();}}}
ScriptHost._loadScripts=function(){ScriptHost._loading=true;if(ScriptHost._coreScripts){ScriptHost._coreScripts.load(false,20*1000,Delegate.create(null,ScriptHost._onScriptsCompleted),Delegate.create(null,ScriptHost._onScriptsError));return;} else{ScriptHost._fxScripts.load(true,20*1000,Delegate.create(null,ScriptHost._onScriptsCompleted),Delegate.create(null,ScriptHost._onScriptsError));}}
ScriptHost._onLoaded=function(){ScriptHost._loaded=true;if(window.main){window.main();} if(ScriptHost._loadHandler){ScriptHost._loadHandler.invoke(null,EventArgs.Empty);ScriptHost._loadHandler=null;}}
ScriptHost._onScriptsCompleted=function(sender,e){if(sender==ScriptHost._coreScripts){ScriptHost._coreScripts.dispose();ScriptHost._coreScripts=null;if(ScriptHost._fxScripts){ScriptHost._fxScripts.load(true,20*1000,Delegate.create(null,ScriptHost._onScriptsCompleted),Delegate.create(null,ScriptHost._onScriptsError));return;}} else{ScriptHost._fxScripts.dispose();ScriptHost._fxScripts=null;} ScriptHost._loading=false;ScriptHost._onLoaded();}
ScriptHost._onScriptsError=function(sender,e){}
ScriptHost._onWindowLoad=function(){ScriptHost.initialize(null,null);}
ScriptHost._onWindowUnload=function(){ScriptHost.close();}
ScriptHost.createClass('ScriptHost');ScriptHost._coreScripts=null;ScriptHost._fxScripts=null;ScriptHost._loadHandler=null;ScriptHost._unloadHandler=null;ScriptHost._initialized=false;ScriptHost._loading=false;ScriptHost._loaded=false;ScriptHost._windowLoadHandler=Delegate.create(null,ScriptHost._onWindowLoad);ScriptHost._windowUnloadHandler=Delegate.create(null,ScriptHost._onWindowUnload);window.attachEvent('onload',ScriptHost._windowLoadHandler);window.attachEvent('onunload',ScriptHost._windowUnloadHandler);
Type.createNamespace('ScriptFX');ScriptFX.CollectionChangedAction=function(){};ScriptFX.CollectionChangedAction.prototype = {add:0,remove:1,reset:2}
ScriptFX.CollectionChangedAction.createEnum('ScriptFX.CollectionChangedAction',false);ScriptFX.$create__Core$1=function(eventType,sender,eventArgs,eventCookie){var $o={};$o.$1=eventType;$o.$0=sender;$o.$2=eventArgs;$o.$3=eventCookie;return $o;}
ScriptFX.IEventManager=function(){};ScriptFX.IEventManager.createInterface('ScriptFX.IEventManager');ScriptFX.ISupportInitialize=function(){};ScriptFX.ISupportInitialize.createInterface('ScriptFX.ISupportInitialize');ScriptFX.INotifyDisposing=function(){};ScriptFX.INotifyDisposing.createInterface('ScriptFX.INotifyDisposing');ScriptFX.HostName=function(){};ScriptFX.HostName.prototype = {other:0,IE:1,mozilla:2,safari:3,opera:4}
ScriptFX.HostName.createEnum('ScriptFX.HostName',false);ScriptFX.INotifyCollectionChanged=function(){};ScriptFX.INotifyCollectionChanged.createInterface('ScriptFX.INotifyCollectionChanged');ScriptFX.INotifyPropertyChanged=function(){};ScriptFX.INotifyPropertyChanged.createInterface('ScriptFX.INotifyPropertyChanged');ScriptFX.ITask=function(){};ScriptFX.ITask.createInterface('ScriptFX.ITask');ScriptFX.IObjectWithOwner=function(){};ScriptFX.IObjectWithOwner.createInterface('ScriptFX.IObjectWithOwner');ScriptFX.Application=function(){this.$9=[];this.$A=100;ScriptHost.add_load(Delegate.create(this,this.$18));ScriptHost.add_unload(Delegate.create(this,this.$19));this.$12=Delegate.create(this,this.$1C);window.attachEvent('onbeforeunload',this.$12);this.$13=Delegate.create(this,this.$1B);window.attachEvent('onerror',this.$13);var $0=document.documentElement;var $1=$0.className;if($1.startsWith('$')){var $2=this.get_host();$1=$1.replace('$browser',Enum.toString(ScriptFX.HostName,$2.get_name()));$1=$1.replace('$majorver',$2.get_majorVersion().toString());$1=$1.replace('$minorver',$2.get_minorVersion().toString());$0.className=$1;}}
ScriptFX.Application.prototype={$0:null,$1:0,$2:null,$3:false,$4:false,$5:false,$6:null,$7:null,$8:null,$9:null,$A:0,$B:0,$C:null,$D:0,$E:null,$F:null,$10:null,$11:null,$12:null,$13:null,$14:null,$15:null,get_domain:function(){return window.document.domain;},set_domain:function(value){window.document.domain=value;return value;},get_$16:function(){if(!this.$8){this.$8=new ScriptFX.EventList();}return this.$8;},get_history:function(){return this.$7;},get_host:function(){if(!this.$0){this.$0=new ScriptFX.HostInfo();}return this.$0;},get_idleFrequency:function(){return this.$A;},set_idleFrequency:function(value){this.$A=value;return value;},get_isFirstLoad:function(){return this.$5;},get_isIE:function(){if(!this.$1){this.$1=(this.get_host().get_name()===1)?1:-1;}return (this.$1===1)?true:false;},get_sessionState:function(){return this.$6;},add_error:function(value){this.get_$16().addHandler('error',value);},remove_error:function(value){this.get_$16().removeHandler('error',value);},add_idle:function(value){this.get_$16().addHandler('idle',value);if(!this.$B){if(!this.$14){this.$14=Delegate.create(this,this.$17);}this.$B=window.setTimeout(this.$14,this.$A);}},remove_idle:function(value){var $0=this.get_$16().removeHandler('idle',value);if((!$0)&&(this.$B)){window.clearTimeout(this.$B);this.$B=0;}},add_load:function(value){if(this.$3){value.invoke(this,EventArgs.Empty);}else{this.get_$16().addHandler('load',value);}},remove_load:function(value){this.get_$16().removeHandler('load',value);},add_unload:function(value){this.get_$16().addHandler('unload',value);},remove_unload:function(value){this.get_$16().removeHandler('unload',value);},add_unloading:function(value){this.get_$16().addHandler('unloading',value);},remove_unloading:function(value){this.get_$16().removeHandler('unloading',value);},addTask:function(task){if(!this.$C){this.$C=[];}this.$C.enqueue(task);if(!this.$D){if(!this.$15){this.$15=Delegate.create(this,this.$1A);}this.$D=window.setTimeout(this.$15,0);}},enableHistory:function(){if(this.$7){return;}this.$7=ScriptFX.HistoryManager.$8();},getService:function(serviceType){if((serviceType===IServiceContainer)||(serviceType===ScriptFX.IEventManager)){return this;}if(this.$11){var $0=serviceType.get_fullName().replace('.','$');return this.$11[$0];}return null;},$17:function(){this.$B=0;var $0=this.get_$16().getHandler('idle');if($0){$0.invoke(this,EventArgs.Empty);this.$B=window.setTimeout(this.$14,this.$A);}},$18:function($p0,$p1){var $0=$('__session');if($0){var $2=$0.value;if(String.isNullOrEmpty($2)){this.$5=true;this.$6={};}else{this.$6=ScriptFX.JSON.deserialize($2);if(isUndefined(this.$6['__appLoaded'])){this.$5=true;}}this.$6['__appLoaded']=true;}else{this.$5=true;}if(this.$2){for(var $3=0;$3<this.$2.length;$3+=2){this.$2[$3].main(this.$2[$3+1]);}this.$2=null;}this.$3=true;var $1=this.get_$16().getHandler('load');if($1){$1.invoke(this,EventArgs.Empty);}if(this.$7){this.$7.$A();}},$19:function($p0,$p1){if(!this.$4){this.$4=true;if(this.$D){window.clearTimeout(this.$D);}if(this.$B){window.clearTimeout(this.$B);}var $0=this.get_$16().getHandler('unload');if($0){$0.invoke(this,EventArgs.Empty);}if(this.$C){while(this.$C.length){var $1=this.$C.dequeue();if(Type.canCast($1,IDisposable)){($1).dispose();}}}if(this.$9.length){var $enum1=this.$9.getEnumerator();while($enum1.moveNext()){var $2=$enum1.get_current();$2.dispose();}this.$9.clear();}if(this.$7){this.$7.dispose();this.$7=null;}window.detachEvent('onbeforeunload',this.$12);window.detachEvent('onerror',this.$13);this.$12=null;this.$13=null;this.$15=null;this.$14=null;}},$1A:function(){this.$D=0;if(this.$C.length){var $0=this.$C.dequeue();if(!$0.execute()){this.$C.enqueue($0);}else{if(Type.canCast($0,IDisposable)){($0).dispose();}}if(this.$C.length){this.$D=window.setTimeout(this.$15,0);}}},$1B:function(){var $0=this.get_$16().getHandler('error');if($0){var $1=new ScriptFX.CancelEventArgs();$1.set_canceled(true);$0.invoke(this,$1);if($1.get_canceled()){window.event.returnValue=false;}}},$1C:function(){window.event.avoidReturn = true;var $0=this.get_$16().getHandler('unloading');if($0){var $1=new ScriptFX.ApplicationUnloadingEventArgs();$0.invoke(this,$1);}if(this.$6){var $2=$('__session');$2.value=ScriptFX.JSON.serialize(this.$6);}},raiseEvent:function(eventType,sender,e){if(this.$E){var $0=this.$E[eventType];if($0){$0.invoke(sender,e);}}},registerDisposableObject:function(disposableObject){if(!this.$4){this.$9.add(disposableObject);}},registerEvent:function(eventType,sender,e){if(this.$E){var $1=this.$E[eventType];if($1){$1.invoke(sender,e);}}if(!this.$10){this.$10=[];}if(!this.$F){this.$F={};this.$F[eventType]=1;}else{var $2=this.$F[eventType];if(isUndefined($2)){this.$F[eventType]=1;}else{this.$F[eventType]=1+$2;}}var $0=ScriptFX.$create__Core$1(eventType,sender,e,this.$10.length);this.$10.add($0);return $0.$3;},registerEventHandler:function(eventType,handler){var $0=null;if(!this.$E){this.$E={};}else{$0=this.$E[eventType];}this.$E[eventType]=Delegate.combine($0,handler);if(!isNullOrUndefined(this.$F[eventType])){var $enum1=this.$10.getEnumerator();while($enum1.moveNext()){var $1=$enum1.get_current();if(!$1){continue;}if($1.$1===eventType){handler.invoke($1.$0,$1.$2);}}}},registerService:function(serviceType,service){if(!this.$11){this.$11={};}var $0=serviceType.get_fullName().replace('.','$');this.$11[$0]=service;},run:function(scriptletType,args){if(this.$3){scriptletType.main(args);}else{if(!this.$2){this.$2=[];}this.$2.add(scriptletType);this.$2.add(args);}},unregisterDisposableObject:function(disposableObject){if(!this.$4){this.$9.remove(disposableObject);}},unregisterEvent:function(eventCookie){var $0=this.$10[eventCookie];var $1=this.$F[$0.$1];if($1===1){delete this.$F[$0.$1];}else{this.$F[$0.$1]=$1-1;}this.$10[eventCookie]=null;},unregisterEventHandler:function(eventType,handler){if(this.$E){var $0=this.$E[eventType];if($0){$0=Delegate.remove($0,handler);if(!$0){delete this.$E[eventType];}else{this.$E[eventType]=$0;}}}},unregisterService:function(serviceType){if(this.$11){var $0=serviceType.get_fullName().replace('.','$');delete this.$11[$0];}}}
ScriptFX.CancelEventArgs=function(){ScriptFX.CancelEventArgs.constructBase(this);}
ScriptFX.CancelEventArgs.prototype={$1_0:false,get_canceled:function(){return this.$1_0;},set_canceled:function(value){this.$1_0=value;return value;}}
ScriptFX.CollectionChangedEventArgs=function(action,item){ScriptFX.CollectionChangedEventArgs.constructBase(this);this.$1_0=action;this.$1_1=item;}
ScriptFX.CollectionChangedEventArgs.prototype={$1_0:0,$1_1:null,get_action:function(){return this.$1_0;},get_item:function(){return this.$1_1;}}
ScriptFX.ApplicationUnloadingEventArgs=function(){ScriptFX.ApplicationUnloadingEventArgs.constructBase(this);}
ScriptFX.ApplicationUnloadingEventArgs.prototype={setUnloadPrompt:function(prompt){window.event.returnValue = prompt;window.event.avoidReturn = false;}}
ScriptFX.HistoryManager=function(enabled,iframe){this.$0=enabled;this.$1=iframe;}
ScriptFX.HistoryManager.$8=function(){var $0=ScriptFX.Application.current.get_host().get_name();if(($0!==1)&&($0!==2)){return new ScriptFX.HistoryManager(false,null);}var $1=null;if($0===1){$1=$('_historyFrame');}return new ScriptFX.HistoryManager(true,$1);}
ScriptFX.HistoryManager.prototype={$0:false,$1:null,$2:null,$3:null,$4:false,$5:false,$6:null,get_isEnabled:function(){return this.$0;},add_navigated:function(value){this.$7=Delegate.combine(this.$7,value);},remove_navigated:function(value){this.$7=Delegate.remove(this.$7,value);},$7:null,addEntry:function(entryName){if(!this.$0){return;}this.$4=true;if(this.$1){this.$5=true;this.$1.src=this.$2+entryName;}else{this.$E(entryName);}},dispose:function(){if(this.$1){this.$1.detachEvent('onload',this.$3);this.$1=null;}},$9:function(){var $0=window.location.hash;if(($0.length)&&($0.charAt(0)==='#')){$0=$0.substr(1);}return $0;},goBack:function(){window.history.back();},goForward:function(){window.history.forward();},$A:function(){if(!this.$0){return;}ScriptFX.Application.current.add_idle(Delegate.create(this,this.$B));if(this.$1){this.$2=this.$1.src+'?';this.$3=Delegate.create(this,this.$C);this.$1.attachEvent('onload',this.$3);}this.$6=this.$9();this.$D(this.$6);},$B:function($p0,$p1){var $0=this.$9();if($0!==this.$6){if(this.$4){return;}this.$6=$0;this.$D($0);}else{this.$4=false;}},$C:function(){var $0=this.$1.contentWindow.location.search;if(($0.length)&&($0.charAt(0)==='?')){$0=$0.substr(1);}this.$E($0);if(this.$5){this.$5=false;return;}this.$D($0);},$D:function($p0){if(this.$7){this.$7.invoke(this,new ScriptFX.HistoryEventArgs($p0));}},$E:function($p0){this.$6=$p0;window.location.hash=$p0;}}
ScriptFX.HistoryEventArgs=function(entryName){ScriptFX.HistoryEventArgs.constructBase(this);this.$1_0=entryName;}
ScriptFX.HistoryEventArgs.prototype={$1_0:null,get_entryName:function(){return this.$1_0;}}
ScriptFX.HostInfo=function(){var $0=window.navigator.userAgent.toLowerCase();var $1=null;var $2;if(($2=$0.indexOf('opera'))>=0){this.$0=4;$1=$0.substr($2+6);}else if(($2=$0.indexOf('msie'))>=0){this.$0=1;$1=$0.substr($2+5);}else if(($2=$0.indexOf('safari'))>=0){this.$0=3;$1=$0.substr($2+7);}else if(($2=$0.indexOf('firefox'))>=0){this.$0=2;$1=$0.substr($2+8);}else if($0.indexOf('gecko')>=0){this.$0=2;$1=window.navigator.appVersion;}if($1){this.$1=parseFloat($1);this.$2=parseInt(this.$1);if(($2=$1.indexOf('.'))>=0){this.$3=parseInt($1.substr($2+1));}}}
ScriptFX.HostInfo.prototype={$0:0,$1:0,$2:0,$3:0,get_majorVersion:function(){return this.$2;},get_minorVersion:function(){return this.$3;},get_name:function(){return this.$0;},get_version:function(){return this.$1;}}
ScriptFX.EventList=function(){}
ScriptFX.EventList.prototype={$0:null,addHandler:function(key,handler){if(!this.$0){this.$0={};}this.$0[key]=Delegate.combine(this.$0[key],handler);},getHandler:function(key){if(this.$0){return this.$0[key];}return null;},removeHandler:function(key,handler){if(this.$0){var $0=this.$0[key];if($0){var $1=Delegate.remove($0,handler);this.$0[key]=$1;return ($1);}}return false;}}
ScriptFX.JSON=function(){}
ScriptFX.JSON.deserialize=function(s){if(String.isNullOrEmpty(s)){return null;}if(!ScriptFX.JSON.$0){ScriptFX.JSON.$0=new RegExp('(\'|\")\\\\@(-?[0-9]+)@(\'|\")','gm');}s=s.replace(ScriptFX.JSON.$0,'new Date($2)');return eval('('+s+')');}
ScriptFX.JSON.serialize=function(o){if(isNullOrUndefined(o)){return String.Empty;}var $0=new StringBuilder();ScriptFX.JSON.$1($0,o);return $0.toString();}
ScriptFX.JSON.$1=function($p0,$p1){if(isNullOrUndefined($p1)){$p0.append('null');return;}var $0=typeof($p1);switch($0){case 'boolean':$p0.append($p1.toString());return;case 'number':$p0.append((isFinite($p1))?$p1.toString():'null');return;case 'string':$p0.append(($p1).quote());return;case 'object':if(Array.isInstance($p1)){$p0.append('[');var $1=$p1;var $2=$1.length;var $3=true;for(var $4=0;$4<$2;$4++){if($3){$3=false;}else{$p0.append(',');}ScriptFX.JSON.$1($p0,$1[$4]);}$p0.append(']');}else if(Date.isInstance($p1)){var $5=$p1;var $6=Date.UTC($5.getUTCFullYear(),$5.getUTCMonth(),$5.getUTCDate(),$5.getUTCHours(),$5.getUTCMinutes(),$5.getUTCSeconds(),$5.getUTCMilliseconds());$p0.append('\"\\@');$p0.append($6.toString());$p0.append('@\"');}else if(RegExp.isInstance($p1)){$p0.append($p1.toString());}else{$p0.append('{');var $7=true;var $dict1=$p1;for(var $key2 in $dict1){var $8={key:$key2,value:$dict1[$key2]};if(($8.key).startsWith('$')||Function.isInstance($8.value)){continue;}if($7){$7=false;}else{$p0.append(',');}$p0.append($8.key);$p0.append(':');ScriptFX.JSON.$1($p0,$8.value);}$p0.append('}');}return;default:$p0.append('null');return;}}
ScriptFX.PropertyChangedEventArgs=function(propertyName){ScriptFX.PropertyChangedEventArgs.constructBase(this);this.$1_0=propertyName;}
ScriptFX.PropertyChangedEventArgs.prototype={$1_0:null,get_propertyName:function(){return this.$1_0;}}
ScriptFX.ObservableCollection=function(owner,disposableItems){this.$0=owner;this.$1=[];this.$2=disposableItems;}
ScriptFX.ObservableCollection.prototype={$0:null,$1:null,$2:false,$3:null,add_collectionChanged:function(value){this.$3=Delegate.combine(this.$3,value);},remove_collectionChanged:function(value){this.$3=Delegate.remove(this.$3,value);},add:function(item){(item).setOwner(this.$0);this.$1.add(item);if(this.$3){this.$3.invoke(this,new ScriptFX.CollectionChangedEventArgs(0,item));}},clear:function(){if(this.$1.length){var $enum1=this.$1.getEnumerator();while($enum1.moveNext()){var $0=$enum1.get_current();$0.setOwner(null);}this.$1.clear();if(this.$3){this.$3.invoke(this,new ScriptFX.CollectionChangedEventArgs(2,null));}}},contains:function(item){return this.$1.contains(item);},dispose:function(){if(this.$2){var $enum1=this.$1.getEnumerator();while($enum1.moveNext()){var $0=$enum1.get_current();$0.dispose();}}this.$1=null;this.$0=null;this.$3=null;},getEnumerator:function(){return this.$1.getEnumerator();},getItem:function(index){return this.$1[index];},getItems:function(){return this.$1;},getLength:function(){return this.$1.length;},remove:function(item){if(this.$1.contains(item)){(item).setOwner(null);this.$1.remove(item);if(this.$3){this.$3.invoke(this,new ScriptFX.CollectionChangedEventArgs(1,item));}}}}
Type.createNamespace('ScriptFX.Net');ScriptFX.Net.HTTPStatusCode=function(){};ScriptFX.Net.HTTPStatusCode.prototype = {canContinue:100,switchingProtocols:101,OK:200,created:201,partialContent:206,accepted:202,nonAuthoritativeInformation:203,noContent:204,resetContent:205,ambiguous:300,moved:301,redirect:302,redirectMethod:303,notModified:304,useProxy:305,temporaryRedirect:307,badRequest:400,methodNotAllowed:400,unauthorized:401,paymentRequired:402,forbidden:403,notFound:404,notAcceptable:406,proxyAuthenticationRequired:407,requestTimeout:408,conflict:409,gone:410,lengthRequired:411,preconditionFailed:412,requestEntityTooLarge:413,requestUriTooLong:414,unsupportedMediaType:415,requestedRangeNotSatisfiable:416,expectationFailed:417,internalServerError:500,notImplemented:501,badGateway:502,serviceUnavailable:503,gatewayTimeout:504,httpVersionNotSupported:505}
ScriptFX.Net.HTTPStatusCode.createEnum('ScriptFX.Net.HTTPStatusCode',false);ScriptFX.Net.HTTPRequestState=function(){};ScriptFX.Net.HTTPRequestState.prototype = {inactive:0,inProgress:1,completed:2,aborted:3,timedOut:4}
ScriptFX.Net.HTTPRequestState.createEnum('ScriptFX.Net.HTTPRequestState',false);ScriptFX.Net.HTTPVerb=function(){};ScriptFX.Net.HTTPVerb.prototype = {GET:0,POST:1,PUT:2,DELETE:3}
ScriptFX.Net.HTTPVerb.createEnum('ScriptFX.Net.HTTPVerb',false);ScriptFX.Net.IHTTPResponse=function(){};ScriptFX.Net.IHTTPResponse.createInterface('ScriptFX.Net.IHTTPResponse');ScriptFX.Net.HTTPRequest=function(){}
ScriptFX.Net.HTTPRequest.createRequest=function(uri,verb){var $0=new ScriptFX.Net.HTTPRequest();if(!uri.startsWith('{')){$0.$0=uri;}else{var $1=ScriptFX.JSON.deserialize(uri);$0.$0=$1['__uri'];if($1['__nullParams']){$0.$6=$1['__transportType'];}else{$0.$6=Type.getType($1['__transportType']);delete $1.__uri;delete $1.__transportType;$0.$7=$1;}}$0.$1=verb;return $0;}
ScriptFX.Net.HTTPRequest.createURI=function(uri,parameters){var $0=new StringBuilder(uri);if(uri.indexOf('?')<0){$0.append('?');}var $1=0;var $dict1=parameters;for(var $key2 in $dict1){var $2={key:$key2,value:$dict1[$key2]};if($1){$0.append('&');}$0.append($2.key);$0.append('=');$0.append(encodeURIComponent($2.value.toString()));$1++;}return $0.toString();}
ScriptFX.Net.HTTPRequest.prototype={$0:null,$1:0,$2:null,$3:null,$4:null,$5:null,$6:null,$7:null,$8:0,$9:null,$A:null,$B:0,$C:null,$D:null,$E:null,get_content:function(){return this.$2;},set_content:function(value){this.$2=value;return value;},get_hasCredentials:function(){return (!String.isNullOrEmpty(this.$4));},get_hasHeaders:function(){return (this.$3);},get_headers:function(){if(!this.$3){this.$3={};}return this.$3;},get_password:function(){return this.$5;},get_response:function(){return this.$D;},get_state:function(){return this.$B;},get_timeout:function(){return this.$8;},set_timeout:function(value){this.$8=value;return value;},get_timeStamp:function(){return this.$E;},get_$F:function(){return this.$C;},get_$10:function(){return this.$7;},get_transportType:function(){return this.$6;},get_URI:function(){return this.$0;},get_userName:function(){return this.$4;},get_verb:function(){return this.$1;},abort:function(){if(this.$B===1){ScriptFX.Net.HTTPRequestManager.$5(this,false);}},dispose:function(){if(this.$C){this.abort();}},invoke:function(callback,context){this.$9=callback;this.$A=context;ScriptFX.Application.current.registerDisposableObject(this);ScriptFX.Net.HTTPRequestManager.$6(this);},$11:function(){ScriptFX.Application.current.unregisterDisposableObject(this);if(this.$C){this.$C.dispose();this.$C=null;}if(this.$9){this.$9.invoke(this,this.$A);this.$9=null;this.$A=null;}},$12:function(){this.$B=3;this.$11();},$13:function($p0){this.$C=$p0;this.$B=1;this.$E=new Date();},$14:function($p0){this.$D=$p0;this.$B=2;this.$11();},$15:function(){this.$B=4;this.$11();},setContentAsForm:function(data){this.get_headers()['Content-Type']='application/x-www-form-urlencoded';var $0=new StringBuilder();var $1=true;var $dict1=data;for(var $key2 in $dict1){var $2={key:$key2,value:$dict1[$key2]};if(!$1){$0.append('&');}$0.append($2.key);$0.append('=');$0.append(encodeURIComponent($2.value.toString()));$1=false;}this.set_content($0.toString());},setContentAsJSON:function(data){this.get_headers()['Content-Type']='text/json';this.set_content(ScriptFX.JSON.serialize(data));},setCredentials:function(userName,password){this.$4=userName;this.$5=password;}}
ScriptFX.Net.HTTPRequestManager=function(){}
ScriptFX.Net.HTTPRequestManager.add_requestInvoking=function(value){ScriptFX.Net.HTTPRequestManager.$0=Delegate.combine(ScriptFX.Net.HTTPRequestManager.$0,value);}
ScriptFX.Net.HTTPRequestManager.remove_requestInvoking=function(value){ScriptFX.Net.HTTPRequestManager.$0=Delegate.remove(ScriptFX.Net.HTTPRequestManager.$0,value);}
ScriptFX.Net.HTTPRequestManager.add_requestInvoked=function(value){ScriptFX.Net.HTTPRequestManager.$1=Delegate.combine(ScriptFX.Net.HTTPRequestManager.$1,value);}
ScriptFX.Net.HTTPRequestManager.remove_requestInvoked=function(value){ScriptFX.Net.HTTPRequestManager.$1=Delegate.remove(ScriptFX.Net.HTTPRequestManager.$1,value);}
ScriptFX.Net.HTTPRequestManager.get_online=function(){return window.navigator.onLine;}
ScriptFX.Net.HTTPRequestManager.get_timeoutInterval=function(){return ScriptFX.Net.HTTPRequestManager.$2;}
ScriptFX.Net.HTTPRequestManager.set_timeoutInterval=function(value){ScriptFX.Net.HTTPRequestManager.$2=value;return value;}
ScriptFX.Net.HTTPRequestManager.$5=function($p0,$p1){var $0=$p0.get_$F();if($0){$0.abort();ScriptFX.Net.HTTPRequestManager.$7($p0,null,$p1);}}
ScriptFX.Net.HTTPRequestManager.abortAll=function(){var $0=ScriptFX.Net.HTTPRequestManager.$3;ScriptFX.Net.HTTPRequestManager.$3=[];var $enum1=$0.getEnumerator();while($enum1.moveNext()){var $1=$enum1.get_current();ScriptFX.Net.HTTPRequestManager.$5($1,false);}}
ScriptFX.Net.HTTPRequestManager.$6=function($p0){if(ScriptFX.Net.HTTPRequestManager.$0){var $2=new ScriptFX.Net.PreHTTPRequestEventArgs($p0);ScriptFX.Net.HTTPRequestManager.$0.invoke(null,$2);if($2.get_isSuppressed()){$p0.$14($2.get_response());return;}}var $0=$p0.get_transportType();if(!$0){$0=ScriptFX.Net._Core$3;}var $1=new $0($p0);$p0.$13($1);ScriptFX.Net.HTTPRequestManager.$3.add($p0);$1.invoke();if(((ScriptFX.Net.HTTPRequestManager.$2)||($p0.get_timeout()))&&(!ScriptFX.Net.HTTPRequestManager.$4)){ScriptFX.Net.HTTPRequestManager.$4=Delegate.create(null,ScriptFX.Net.HTTPRequestManager.$8);ScriptFX.Application.current.add_idle(ScriptFX.Net.HTTPRequestManager.$4);}}
ScriptFX.Net.HTTPRequestManager.$7=function($p0,$p1,$p2){ScriptFX.Net.HTTPRequestManager.$3.remove($p0);if($p1){$p0.$14($p1);}else if($p2){$p0.$15();}else{$p0.$12();}if(ScriptFX.Net.HTTPRequestManager.$1){var $0=new ScriptFX.Net.PostHTTPRequestEventArgs($p0,$p1);ScriptFX.Net.HTTPRequestManager.$1.invoke(null,$0);}if((!ScriptFX.Net.HTTPRequestManager.$3.length)&&(ScriptFX.Net.HTTPRequestManager.$4)){ScriptFX.Application.current.remove_idle(ScriptFX.Net.HTTPRequestManager.$4);ScriptFX.Net.HTTPRequestManager.$4=null;}}
ScriptFX.Net.HTTPRequestManager.$8=function($p0,$p1){if(!ScriptFX.Net.HTTPRequestManager.$3.length){return;}var $0=null;var $1=(new Date()).getTime();var $enum1=ScriptFX.Net.HTTPRequestManager.$3.getEnumerator();while($enum1.moveNext()){var $2=$enum1.get_current();var $3=$2.get_timeStamp().getTime();var $4=$2.get_timeout();if(!$4){$4=ScriptFX.Net.HTTPRequestManager.$2;if(!$4){continue;}}if(($1-$3)>$4){if(!$0){$0=[];}$0.add($2);}}if($0){var $enum2=$0.getEnumerator();while($enum2.moveNext()){var $5=$enum2.get_current();ScriptFX.Net.HTTPRequestManager.$5($5,true);}}}
ScriptFX.Net.HTTPRequestManager.$9=function($p0,$p1){ScriptFX.Net.HTTPRequestManager.$7($p0,$p1,false);}
ScriptFX.Net.HTTPTransport=function(request){this.$0=request;}
ScriptFX.Net.HTTPTransport.createURI=function(uri,transportType,parameters){if(!parameters){return '{__nullParams: true, __uri:\''+uri+'\', __transportType: '+transportType.get_fullName()+'}';}else{parameters['__uri']=uri;parameters['__transportType']=transportType.get_fullName();return ScriptFX.JSON.serialize(parameters);}}
ScriptFX.Net.HTTPTransport.prototype={$0:null,get_parameters:function(){return this.$0.get_$10();},get_request:function(){return this.$0;},getMethod:function(){return Enum.toString(ScriptFX.Net.HTTPVerb,this.$0.get_verb());},onCompleted:function(response){ScriptFX.Net.HTTPRequestManager.$9(this.$0,response);}}
ScriptFX.Net.PostHTTPRequestEventArgs=function(request,response){ScriptFX.Net.PostHTTPRequestEventArgs.constructBase(this);this.$1_0=request;this.$1_1=response;}
ScriptFX.Net.PostHTTPRequestEventArgs.prototype={$1_0:null,$1_1:null,get_request:function(){return this.$1_0;},get_response:function(){return this.$1_1;}}
ScriptFX.Net.PreHTTPRequestEventArgs=function(request){ScriptFX.Net.PreHTTPRequestEventArgs.constructBase(this);this.$1_0=request;}
ScriptFX.Net.PreHTTPRequestEventArgs.prototype={$1_0:null,$1_1:null,$1_2:false,get_isSuppressed:function(){return this.$1_2;},get_request:function(){return this.$1_0;},get_response:function(){return this.$1_1;},suppressRequest:function(response){this.$1_2=true;this.$1_1=response;}}
ScriptFX.Net._Core$2=function(request,xmlHTTP){this.$3=new Date();this.$0=request;this.$1=xmlHTTP;}
ScriptFX.Net._Core$2.prototype={$0:null,$1:null,$2:null,$3:null,$4:null,$5:null,$6:null,get_contentLength:function(){return this.getText().length;},get_contentType:function(){return this.$1.getResponseHeader('Content-Type');},get_headers:function(){if(!this.$2){var $0=this.$1.getAllResponseHeaders();var $1=$0.split('\n');this.$2={};var $enum1=$1.getEnumerator();while($enum1.moveNext()){var $2=$enum1.get_current();var $3=$2.indexOf(':');this.$2[$2.substr(0,$3)]=$2.substr($3+1).trim();}}return this.$2;},get_request:function(){return this.$0;},get_statusCode:function(){return this.$1.status;},get_statusText:function(){return this.$1.statusText;},get_timeStamp:function(){return this.$3;},getHeader:function($p0){return this.$1.getResponseHeader($p0);},getObject:function(){if(!this.$5){this.$5=ScriptFX.JSON.deserialize(this.getText());}return this.$5;},getText:function(){if(!this.$4){this.$4=this.$1.responseText;}return this.$4;},getXML:function(){if(!this.$6){var $0=this.$1.responseXML;if((!$0)||(!$0.documentElement)){try{$0=XMLDocumentParser.parse(this.$1.responseText);if(($0)&&($0.documentElement)){this.$6=$0;}}catch($1){}}else{this.$6=$0;if(ScriptFX.Application.current.get_isIE()){$0.setProperty('SelectionLanguage','XPath');}}}return this.$6;}}
ScriptFX.Net._Core$3=function(request){ScriptFX.Net._Core$3.constructBase(this,[request]);}
ScriptFX.Net._Core$3.prototype={$1:null,abort:function(){if(this.$1){this.$1.onreadystatechange=Delegate.Null;this.$1.abort();this.$1=null;}},dispose:function(){this.abort();},invoke:function(){var $0=this.get_request();this.$1=new XMLHttpRequest();this.$1.onreadystatechange=Delegate.create(this,this.$2);if(!this.get_request().get_hasCredentials()){this.$1.open(this.getMethod(),$0.get_URI(),true);}else{this.$1.open(this.getMethod(),$0.get_URI(),true,$0.get_userName(),$0.get_password());}var $1=($0.get_hasHeaders())?$0.get_headers():null;if($1){var $dict1=$1;for(var $key2 in $dict1){var $3={key:$key2,value:$dict1[$key2]};this.$1.setRequestHeader($3.key,$3.value);}}var $2=$0.get_content();if(($2)&&((!$1)||(!$1['Content-Type']))){this.$1.setRequestHeader('Content-Type','application/x-www-form-urlencoded');}this.$1.send($2);},$2:function(){if(this.$1.readyState===4){var $0=new ScriptFX.Net._Core$2(this.get_request(),this.$1);this.$1.onreadystatechange=Delegate.Null;this.$1=null;this.onCompleted($0);}}}
Type.createNamespace('ScriptFX.UI');ScriptFX.UI.AnimationStopState=function(){};ScriptFX.UI.AnimationStopState.prototype = {complete:0,abort:1,revert:2}
ScriptFX.UI.AnimationStopState.createEnum('ScriptFX.UI.AnimationStopState',false);ScriptFX.UI.$create_Bounds=function(left,top,width,height){var $o={};$o.left=left;$o.top=top;$o.width=width;$o.height=height;return $o;}
ScriptFX.UI.$create_DragDropData=function(mode,dataType,data){var $o={};$o.mode=mode;$o.dataType=dataType;$o.data=data;return $o;}
ScriptFX.UI.DragMode=function(){};ScriptFX.UI.DragMode.prototype = {move:0,copy:1}
ScriptFX.UI.DragMode.createEnum('ScriptFX.UI.DragMode',false);ScriptFX.UI.IAction=function(){};ScriptFX.UI.IAction.createInterface('ScriptFX.UI.IAction');ScriptFX.UI.IDragDrop=function(){};ScriptFX.UI.IDragDrop.createInterface('ScriptFX.UI.IDragDrop');ScriptFX.UI.IDragSource=function(){};ScriptFX.UI.IDragSource.createInterface('ScriptFX.UI.IDragSource');ScriptFX.UI.IDropTarget=function(){};ScriptFX.UI.IDropTarget.createInterface('ScriptFX.UI.IDropTarget');ScriptFX.UI.IEditableText=function(){};ScriptFX.UI.IEditableText.createInterface('ScriptFX.UI.IEditableText');ScriptFX.UI.IStaticText=function(){};ScriptFX.UI.IStaticText.createInterface('ScriptFX.UI.IStaticText');ScriptFX.UI.IToggle=function(){};ScriptFX.UI.IToggle.createInterface('ScriptFX.UI.IToggle');ScriptFX.UI.IValidator=function(){};ScriptFX.UI.IValidator.createInterface('ScriptFX.UI.IValidator');ScriptFX.UI.Key=function(){};ScriptFX.UI.Key.prototype = {backspace:8,tab:9,enter:13,escape:27,space:32,pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,right:39,down:40,del:127}
ScriptFX.UI.Key.createEnum('ScriptFX.UI.Key',false);ScriptFX.UI.$create_Location=function(left,top){var $o={};$o.left=left;$o.top=top;return $o;}
ScriptFX.UI.$create_OverlayOptions=function(cssClass){var $o={};$o.cssClass=cssClass;$o.fadeInOutInterval=250;$o.opacity=0.75;return $o;}
ScriptFX.UI.PopupMode=function(){};ScriptFX.UI.PopupMode.prototype = {center:0,anchorTopLeft:1,anchorTopRight:2,anchorBottomRight:3,anchorBottomLeft:4,alignTopLeft:5,alignTopRight:6,alignBottomRight:7,alignBottomLeft:8}
ScriptFX.UI.PopupMode.createEnum('ScriptFX.UI.PopupMode',false);ScriptFX.UI.$create_PopupOptions=function(referenceElement,mode){var $o={};$o.referenceElement=referenceElement;$o.mode=mode;$o.id=null;$o.xOffset=0;$o.yOffset=0;return $o;}
ScriptFX.UI.$create_Size=function(width,height){var $o={};$o.width=width;$o.height=height;return $o;}
ScriptFX.UI.Animation=function(domElement){if(!domElement){domElement=document.documentElement;}this.$0=domElement;this.$1=1;ScriptFX.Application.current.registerDisposableObject(this);}
ScriptFX.UI.Animation.prototype={$0:null,$1:0,$2:false,$3:0,$4:false,$5:false,$6:false,$7:0,$8:0,$9:false,add_repeating:function(value){this.$A=Delegate.combine(this.$A,value);},remove_repeating:function(value){this.$A=Delegate.remove(this.$A,value);},$A:null,add_starting:function(value){this.$B=Delegate.combine(this.$B,value);},remove_starting:function(value){this.$B=Delegate.remove(this.$B,value);},$B:null,add_stopped:function(value){this.$C=Delegate.combine(this.$C,value);},remove_stopped:function(value){this.$C=Delegate.remove(this.$C,value);},$C:null,get_autoReverse:function(){return this.$2;},set_autoReverse:function(value){this.$2=value;return value;},get_completed:function(){return this.$4;},get_domElement:function(){return this.$0;},get_isPlaying:function(){return this.$5;},get_isReversed:function(){return this.$9;},get_repeatCount:function(){return this.$1;},set_repeatCount:function(value){this.$1=value;return value;},get_repeatDelay:function(){return this.$3;},set_repeatDelay:function(value){this.$3=value;return value;},get_repetitions:function(){return this.$7;},dispose:function(){if(this.$5){this.stop(1);}if(this.$0){this.$0=null;ScriptFX.Application.current.unregisterDisposableObject(this);}},$D:function($p0){if(this.$B){this.$B.invoke(this,EventArgs.Empty);}this.performSetup();this.$5=true;this.$7=1;this.$9=$p0;this.playCore();},$E:function($p0,$p1){this.stopCore($p0,$p1);this.$4=$p0;this.$5=false;this.performCleanup();if(this.$C){this.$C.invoke(this,EventArgs.Empty);}},$F:function($p0){if(this.$6){if((this.$3)&&((this.$8+this.$3)>$p0)){return false;}}var $0=this.progressCore(this.$6,$p0);this.$6=false;if($0&&((!this.$1)||(this.$1>this.$7))){$0=false;this.$7++;if(this.$A){var $1=new ScriptFX.CancelEventArgs();this.$A.invoke(this,$1);$0=$1.get_canceled();}if(!$0){this.$6=true;if(this.$2){this.$9=!this.$9;}this.$8=$p0;this.performRepetition(this.$9);}}return $0;},performCleanup:function(){},performRepetition:function(reversed){},performSetup:function(){},play:function(){this.$4=false;ScriptFX.UI.AnimationManager.$4(this);},stop:function(stopState){ScriptFX.UI.AnimationManager.$5(this,stopState);}}
ScriptFX.UI.AnimationManager=function(){}
ScriptFX.UI.AnimationManager.get_FPS=function(){return ScriptFX.UI.AnimationManager.$0;}
ScriptFX.UI.AnimationManager.set_FPS=function(value){ScriptFX.UI.AnimationManager.$0=value;return value;}
ScriptFX.UI.AnimationManager.$3=function(){ScriptFX.UI.AnimationManager.$2=0;if(!ScriptFX.UI.AnimationManager.$1.length){return;}var $0=(new Date()).getTime();var $1=ScriptFX.UI.AnimationManager.$1;var $2=[];ScriptFX.UI.AnimationManager.$1=null;var $enum1=$1.getEnumerator();while($enum1.moveNext()){var $3=$enum1.get_current();var $4=$3.$F($0);if($4){$3.$E(true,0);}else{$2.add($3);}}if($2.length){ScriptFX.UI.AnimationManager.$1=$2;if(!ScriptFX.UI.AnimationManager.$2){ScriptFX.UI.AnimationManager.$2=window.setTimeout(Delegate.create(null,ScriptFX.UI.AnimationManager.$3),1000/ScriptFX.UI.AnimationManager.$0);}}}
ScriptFX.UI.AnimationManager.$4=function($p0){if(!ScriptFX.UI.AnimationManager.$1){ScriptFX.UI.AnimationManager.$1=[];}ScriptFX.UI.AnimationManager.$1.add($p0);$p0.$D(false);if(!ScriptFX.UI.AnimationManager.$2){ScriptFX.UI.AnimationManager.$2=window.setTimeout(Delegate.create(null,ScriptFX.UI.AnimationManager.$3),1000/ScriptFX.UI.AnimationManager.$0);}}
ScriptFX.UI.AnimationManager.$5=function($p0,$p1){$p0.$E(false,$p1);ScriptFX.UI.AnimationManager.$1.remove($p0);}
ScriptFX.UI.AnimationSequence=function(animations){ScriptFX.UI.AnimationSequence.constructBase(this,[null]);this.$10=animations;this.$12=-1;}
ScriptFX.UI.AnimationSequence.prototype={$10:null,$11:0,$12:0,$13:false,$14:0,get_successionDelay:function(){return this.$11;},set_successionDelay:function(value){this.$11=value;return value;},playCore:function(){if(!this.get_isReversed()){this.$12=0;}else{this.$12=this.$10.length-1;}this.$10[this.$12].$D(this.get_isReversed());},progressCore:function(startRepetition,timeStamp){if(startRepetition){if(!this.get_isReversed()){this.$12=0;}else{this.$12=this.$10.length-1;}this.$13=true;}var $0=this.$10[this.$12];if(this.$13){if((this.$11)&&((this.$14+this.$11)>timeStamp)){return false;}this.$13=false;$0.$D(this.get_isReversed());}var $1=$0.$F(timeStamp);if($1){$0.$E(true,0);if(!this.get_isReversed()){this.$12++;}else{this.$12--;}this.$13=true;this.$14=timeStamp;}return $1&&((this.$12===this.$10.length)||(this.$12===-1));},stopCore:function(completed,stopState){if(!completed){var $0=this.$10[this.$12];$0.$E(false,stopState);}}}
ScriptFX.UI.Behavior=function(domElement,id){ScriptFX.Application.current.registerDisposableObject(this);this.$0=domElement;this.$1=id;if(!String.isNullOrEmpty(id)){if(id==='control'){var $1=domElement[id];if(($1)&&(Type.getInstanceType($1)===ScriptFX.UI._Core$4)){delete domElement.control;ScriptFX.Application.current.unregisterDisposableObject($1);this.$3=$1.get_$5();}}domElement[id] = this;}if(id!=='control'){var $2=domElement.control;if(!$2){$2=new ScriptFX.UI._Core$4(domElement);}}var $0=domElement._behaviors;if(!$0){$0=[];domElement._behaviors = $0;}$0.add(this);}
ScriptFX.UI.Behavior.getBehavior=function(domElement,type){var $0=domElement._behaviors;if($0){var $enum1=$0.getEnumerator();while($enum1.moveNext()){var $1=$enum1.get_current();if(type.isAssignableFrom(Type.getInstanceType($1))){return $1;}}}return null;}
ScriptFX.UI.Behavior.getBehaviors=function(domElement,type){var $0=domElement._behaviors;if(isNullOrUndefined($0)||(!$0.length)){return null;}if(!type){return $0.clone();}return $0.filter(Delegate.create(null,function($p1_0){
return type.isAssignableFrom(Type.getInstanceType($p1_0));}));}
ScriptFX.UI.Behavior.getNamedBehavior=function(domElement,id){return domElement[id];}
ScriptFX.UI.Behavior.prototype={$0:null,$1:null,$2:null,$3:null,$4:false,get_domElement:function(){return this.$0;},get_domEvents:function(){if(!this.$2){this.$2=new ScriptFX.UI.DOMEventList(this.$0);}return this.$2;},get_events:function(){if(!this.$3){this.$3=new ScriptFX.EventList();}return this.$3;},get_$5:function(){return this.$3;},get_isDisposed:function(){return (!this.$0);},get_isInitializing:function(){return this.$4;},add_propertyChanged:function(value){this.get_events().addHandler('PropertyChanged',value);},remove_propertyChanged:function(value){this.get_events().removeHandler('PropertyChanged',value);},beginInitialize:function(){this.$4=true;},dispose:function(){if(this.$2){this.$2.dispose();}if(this.$0){if(this.$1){if(ScriptFX.Application.current.get_isIE()){this.$0.removeAttribute(this.$1);}else{delete this.$0[this.$1];}}var $0=this.$0._behaviors;$0.remove(this);this.$0=null;ScriptFX.Application.current.unregisterDisposableObject(this);}},endInitialize:function(){this.$4=false;},raisePropertyChanged:function(propertyName){var $0=this.get_events().getHandler('PropertyChanged');if($0){$0.invoke(this,new ScriptFX.PropertyChangedEventArgs(propertyName));}}}
ScriptFX.UI.Color=function(red,green,blue){this.$0=red;this.$1=green;this.$2=blue;}
ScriptFX.UI.Color.format=function(red,green,blue){return String.format('#{0:X2}{1:X2}{2:X2}',red,green,blue);}
ScriptFX.UI.Color.parse=function(s){if(String.isNullOrEmpty(s)){return null;}if((s.length===7)&&s.startsWith('#')){var $0=parseInt(s.substr(1,2),16);var $1=parseInt(s.substr(3,2),16);var $2=parseInt(s.substr(5,2),16);return new ScriptFX.UI.Color($0,$1,$2);}else if(s.startsWith('rgb(')&&s.endsWith(')')){var $3=s.substring(4,s.length-1).split(',');if($3.length===3){return new ScriptFX.UI.Color(parseInt($3[0].trim()),parseInt($3[1].trim()),parseInt($3[2].trim()));}}return null;}
ScriptFX.UI.Color.prototype={$0:0,$1:0,$2:0,get_blue:function(){return this.$2;},get_green:function(){return this.$1;},get_red:function(){return this.$0;},toString:function(){return ScriptFX.UI.Color.format(this.$0,this.$1,this.$2);}}
ScriptFX.UI.Control=function(domElement){ScriptFX.UI.Control.constructBase(this,[domElement,'control']);}
ScriptFX.UI.Control.getControl=function(domElement){return ScriptFX.UI.Behavior.getNamedBehavior(domElement,'control');}
ScriptFX.UI.Control.prototype={add_disposing:function(value){this.get_events().addHandler('disposing',value);},remove_disposing:function(value){this.get_events().removeHandler('disposing',value);},dispose:function(){var $0=this.get_domElement();if($0){var $1=this.get_events().getHandler('disposing');if($1){$1.invoke(this,EventArgs.Empty);}var $2=ScriptFX.UI.Behavior.getBehaviors($0,null);if($2.length>1){var $enum1=$2.getEnumerator();while($enum1.moveNext()){var $3=$enum1.get_current();if($3!==this){$3.dispose();}}}}ScriptFX.UI.Control.callBase(this, 'dispose');}}
ScriptFX.UI.DOMEventList=function(element){this.$0=element;this.$1={};}
ScriptFX.UI.DOMEventList.prototype={$0:null,$1:null,attach:function(eventName,handler){this.$0.attachEvent(eventName,handler);this.$1[eventName]=handler;},detach:function(eventName){var $0=this.$1[eventName];if($0){this.$0.detachEvent(eventName,$0);delete this.$1[eventName];return true;}return false;},dispose:function(){if(this.$0){var $dict1=this.$1;for(var $key2 in $dict1){var $0={key:$key2,value:$dict1[$key2]};this.$0.detachEvent($0.key,$0.value);}this.$0=null;this.$1=null;}},isAttached:function(eventName){return (this.$1[eventName])?true:false;}}
ScriptFX.UI.DragDropEventArgs=function(dataObject){ScriptFX.UI.DragDropEventArgs.constructBase(this);this.$1_0=dataObject;}
ScriptFX.UI.DragDropEventArgs.prototype={$1_0:null,get_dataObject:function(){return this.$1_0;}}
ScriptFX.UI.DragDropManager=function(){}
ScriptFX.UI.DragDropManager.get_canDragDrop=function(){return (ScriptFX.UI.DragDropManager.$0);}
ScriptFX.UI.DragDropManager.get_supportsDataTransfer=function(){return ScriptFX.UI.DragDropManager.$0.get_supportsDataTransfer();}
ScriptFX.UI.DragDropManager.add_dragDropEnding=function(value){ScriptFX.UI.DragDropManager.$3=Delegate.combine(ScriptFX.UI.DragDropManager.$3,value);}
ScriptFX.UI.DragDropManager.remove_dragDropEnding=function(value){ScriptFX.UI.DragDropManager.$3=Delegate.remove(ScriptFX.UI.DragDropManager.$3,value);}
ScriptFX.UI.DragDropManager.add_dragDropStarting=function(value){ScriptFX.UI.DragDropManager.$2=Delegate.combine(ScriptFX.UI.DragDropManager.$2,value);}
ScriptFX.UI.DragDropManager.remove_dragDropStarting=function(value){ScriptFX.UI.DragDropManager.$2=Delegate.remove(ScriptFX.UI.DragDropManager.$2,value);}
ScriptFX.UI.DragDropManager.$5=function(){if(ScriptFX.UI.DragDropManager.$3){ScriptFX.UI.DragDropManager.$3.invoke(null,new ScriptFX.UI.DragDropEventArgs(ScriptFX.UI.DragDropManager.$4));}ScriptFX.UI.DragDropManager.$4=null;}
ScriptFX.UI.DragDropManager.registerDragDropImplementation=function(dragDrop){ScriptFX.UI.DragDropManager.$0=dragDrop;}
ScriptFX.UI.DragDropManager.registerDropTarget=function(target){ScriptFX.UI.DragDropManager.$1.add(target);}
ScriptFX.UI.DragDropManager.startDragDrop=function(data,dragVisual,dragOffset,source,context){if(ScriptFX.UI.DragDropManager.$4){return false;}var $0=[];var $enum1=ScriptFX.UI.DragDropManager.$1.getEnumerator();while($enum1.moveNext()){var $1=$enum1.get_current();if($1.supportsDataObject(data)){$0.add($1);}}if(!$0.length){return false;}ScriptFX.UI.DragDropManager.$4=data;if(ScriptFX.UI.DragDropManager.$2){ScriptFX.UI.DragDropManager.$2.invoke(null,new ScriptFX.UI.DragDropEventArgs(data));}ScriptFX.UI.DragDropManager.$0.dragDrop(new ScriptFX.UI._Core$0(source),context,$0,dragVisual,dragOffset,ScriptFX.UI.DragDropManager.$4);return true;}
ScriptFX.UI.DragDropManager.unregisterDropTarget=function(target){ScriptFX.UI.DragDropManager.$1.remove(target);}
ScriptFX.UI._Core$0=function(actualSource){this.$0=actualSource;}
ScriptFX.UI._Core$0.prototype={$0:null,get_domElement:function(){return this.$0.get_domElement();},onDragStart:function($p0){if(this.$0){this.$0.onDragStart($p0);}},onDrag:function($p0){if(this.$0){this.$0.onDrag($p0);}},onDragEnd:function($p0,$p1){if(this.$0){this.$0.onDragEnd($p0,$p1);}ScriptFX.UI.DragDropManager.$5();}}
ScriptFX.UI.Element=function(){}
ScriptFX.UI.Element.addCSSClass=function(element,className){var $0=element.className;if($0.indexOf(className)<0){element.className=$0+' '+className;}}
ScriptFX.UI.Element.containsCSSClass=function(element,className){return element.className.split(' ').contains(className);}
ScriptFX.UI.Element.getBounds=function(element){var $0=ScriptFX.UI.Element.getLocation(element);return ScriptFX.UI.$create_Bounds($0.left,$0.top,element.offsetWidth,element.offsetHeight);}
ScriptFX.UI.Element.getLocation=function(element){var $0=0;var $1=0;for(var $2=element;$2;$2=$2.offsetParent){$0+=$2.offsetLeft;$1+=$2.offsetTop;}return ScriptFX.UI.$create_Location($0,$1);}
ScriptFX.UI.Element.getSize=function(element){return ScriptFX.UI.$create_Size(element.offsetWidth,element.offsetHeight);}
ScriptFX.UI.Element.removeCSSClass=function(element,className){var $0=' '+element.className+' ';var $1=$0.indexOf(' '+className+' ');if($1>=0){var $2=$0.substr(0,$1)+' '+$0.substr($1+className.length+1);element.className=$2;}}
ScriptFX.UI.Element.setLocation=function(element,location){element.style.left=location.left+'px';element.style.top=location.top+'px';}
ScriptFX.UI.Element.setSize=function(element,size){element.style.width=size.width+'px';element.style.height=size.height+'px';}
ScriptFX.UI.FadeEffect=function(domElement,duration,opacity){ScriptFX.UI.FadeEffect.constructBase(this,[domElement,duration]);this.$14=opacity;}
ScriptFX.UI.FadeEffect.prototype={$13:false,$14:0,get_isFadingIn:function(){return this.$13;},fadeIn:function(){if(this.get_isPlaying()){this.stop(0);}this.$13=true;this.play();},fadeOut:function(){if(this.get_isPlaying()){this.stop(0);}this.$13=false;this.play();},performCleanup:function(){ScriptFX.UI.FadeEffect.callBase(this, 'performCleanup');if(!this.$13){this.$15(0);this.get_domElement().style.display='none';}},performSetup:function(){ScriptFX.UI.FadeEffect.callBase(this, 'performSetup');if(this.$13){this.$15(0);this.get_domElement().style.display='';}},performTweening:function(frame){if(this.$13){this.$15(this.$14*frame);}else{this.$15(this.$14*(1-frame));}},$15:function($p0){if(ScriptFX.Application.current.get_isIE()){this.get_domElement().style.filter='alpha(opacity='+($p0*100)+')';}else{this.get_domElement().style.opacity=$p0.toString();}}}
ScriptFX.UI._Core$4=function(domElement){ScriptFX.UI._Core$4.constructBase(this,[domElement]);}
ScriptFX.UI.OverlayBehavior=function(domElement,options){ScriptFX.UI.OverlayBehavior.constructBase(this,[domElement,options.id]);this.$7=document.createElement('div');this.$7.className=options.cssClass;var $0=this.$7.style;$0.display='none';$0.top='0px';$0.left='0px';$0.width='100%';if(ScriptFX.Application.current.get_isIE()&&(ScriptFX.Application.current.get_host().get_majorVersion()<7)){$0.position='absolute';}else{this.$8=true;$0.position='fixed';$0.height='100%';}document.body.appendChild(this.$7);if(options.fadeInOutInterval){this.$9=new ScriptFX.UI.FadeEffect(this.$7,options.fadeInOutInterval,options.opacity);this.$9.set_easingFunction(Delegate.create(null,ScriptFX.UI.TimedAnimation.easeInOut));this.$9.add_stopped(Delegate.create(this,this.$C));}}
ScriptFX.UI.OverlayBehavior.prototype={$7:null,$8:false,$9:null,$A:null,$B:false,get_isVisible:function(){return this.$B;},add_visibilityChanged:function(value){this.get_events().addHandler(ScriptFX.UI.OverlayBehavior.$6,value);},remove_visibilityChanged:function(value){this.get_events().removeHandler(ScriptFX.UI.OverlayBehavior.$6,value);},dispose:function(){if(this.$9){this.$9.dispose();this.$9=null;}if(this.$A){window.detachEvent('onresize',this.$A);this.$A=null;}ScriptFX.UI.OverlayBehavior.callBase(this, 'dispose');},hide:function(){if((!this.$B)||this.$9.get_isPlaying()){return;}if(this.$A){window.detachEvent('onresize',this.$A);this.$A=null;}if(this.$9){this.$9.fadeOut();}else{this.$7.style.display='none';this.$B=false;var $0=this.get_events().getHandler(ScriptFX.UI.OverlayBehavior.$6);if($0){$0.invoke(this,EventArgs.Empty);}}},$C:function($p0,$p1){this.$B=this.$9.get_isFadingIn();var $0=this.get_events().getHandler(ScriptFX.UI.OverlayBehavior.$6);if($0){$0.invoke(this,EventArgs.Empty);}},$D:function(){this.$7.style.height=document.documentElement.offsetHeight+'px';},show:function(){if(this.$B||this.$9.get_isPlaying()){return;}if(!this.$8){this.$7.style.height=document.documentElement.offsetHeight+'px';this.$A=Delegate.create(this,this.$D);window.attachEvent('onresize',this.$A);}if(this.$9){this.$9.fadeIn();}else{this.$7.style.display='';this.$B=true;var $0=this.get_events().getHandler(ScriptFX.UI.OverlayBehavior.$6);if($0){$0.invoke(this,EventArgs.Empty);}}}}
ScriptFX.UI.PopupBehavior=function(domElement,options){ScriptFX.UI.PopupBehavior.constructBase(this,[domElement,options.id]);this.$6=options;domElement.style.position='absolute';domElement.style.display='none';}
ScriptFX.UI.PopupBehavior.prototype={$6:null,$7:null,dispose:function(){if(this.get_domElement()){this.hide();}ScriptFX.UI.PopupBehavior.callBase(this, 'dispose');},hide:function(){this.get_domElement().style.display='none';if(this.$7){this.$7.parentNode.removeChild(this.$7);this.$7=null;}},show:function(){var $0=this.get_domElement().offsetParent;if(!$0){$0=document.documentElement;}this.get_domElement().style.display='block';var $1=0;var $2=0;var $3=1;var $4=1;var $5=false;var $6=ScriptFX.UI.Element.getBounds($0);var $7=ScriptFX.UI.Element.getBounds(this.get_domElement());var $8=ScriptFX.UI.Element.getBounds(this.$6.referenceElement);var $9=$8.left-$6.left;var $A=$8.top-$6.top;switch(this.$6.mode){case 0:$1=Math.round($8.width/2-$7.width/2);$2=Math.round($8.height/2-$7.height/2);break;case 1:$1=0;$2=-$7.height;break;case 2:$1=$8.width-$7.width;$2=-$7.height;break;case 3:$1=$8.width-$7.width;$2=$8.height;break;case 4:$1=0;$2=$8.height;break;case 5:$1=$8.left;$2=$8.top;$5=true;break;case 6:$1=$8.left+$8.width-$7.width;$2=$8.top;$3=-1;$5=true;break;case 7:$1=$8.left+$8.width-$7.width;$2=$8.top+$8.height-$7.height;$3=-1;$4=-1;$5=true;break;case 8:$1=$8.left;$2=$8.top+$8.height-$7.height;$4=-1;$5=true;break;}if(!$5){$1+=$9+this.$6.xOffset;$2+=$A+this.$6.yOffset;}else{$1+=$9+this.$6.xOffset*$3;$2+=$A+this.$6.yOffset*$4;}var $B=document.body.clientWidth;if($1+$7.width>$B-2){$1-=($1+$7.width-$B+2);}if($1<0){$1=2;}if($2<0){$2=2;}ScriptFX.UI.Element.setLocation(this.get_domElement(),ScriptFX.UI.$create_Location($1,$2));var $C=ScriptFX.Application.current.get_host();if(($C.get_name()===1)&&($C.get_majorVersion()<7)){this.$7=document.createElement('IFRAME');this.$7.src='javascript:false;';this.$7.scrolling='no';this.$7.style.position='absolute';this.$7.style.display='block';this.$7.style.border='none';this.$7.style.filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';this.$7.style.left=$1+'px';this.$7.style.top=$2+'px';this.$7.style.width=$7.width+'px';this.$7.style.height=$7.height+'px';this.$7.style.zIndex=1;this.get_domElement().parentNode.insertBefore(this.$7,this.get_domElement());}}}
ScriptFX.UI.TimedAnimation=function(domElement,duration){ScriptFX.UI.TimedAnimation.constructBase(this,[domElement]);this.$10=duration;}
ScriptFX.UI.TimedAnimation.easeIn=function(t){return t*t;}
ScriptFX.UI.TimedAnimation.easeInOut=function(t){t=t*2;if(t<1){return t*t/2;}return -((--t)*(t-2)-1)/2;}
ScriptFX.UI.TimedAnimation.easeOut=function(t){return -t*(t-2);}
ScriptFX.UI.TimedAnimation.prototype={$10:0,$11:null,$12:0,get_duration:function(){return this.$10;},set_duration:function(value){this.$10=value;return value;},get_easingFunction:function(){return this.$11;},set_easingFunction:function(value){this.$11=value;return value;},playCore:function(){this.$12=(new Date()).getTime();this.progressCore(false,this.$12);},progressCore:function(startRepetition,timeStamp){var $0=0;var $1=false;if(!startRepetition){$0=(timeStamp-this.$12)/this.$10;if(!this.get_isReversed()){$1=($0>=1);$0=Math.min(1,$0);}else{$0=1-$0;$1=($0<=0);$0=Math.max(0,$0);}if((!$1)&&(this.$11)){$0=this.$11.invoke($0);}}else{this.$12=timeStamp;if(this.get_isReversed()){$0=1;}}this.performTweening($0);return $1;},stopCore:function(completed,stopState){if(!completed){if(!stopState){this.performTweening(1);}else if(stopState===2){this.performTweening(0);}}}}
ScriptFX.Application.createClass('ScriptFX.Application',null,IServiceProvider,IServiceContainer,ScriptFX.IEventManager);ScriptFX.CancelEventArgs.createClass('ScriptFX.CancelEventArgs',EventArgs);ScriptFX.CollectionChangedEventArgs.createClass('ScriptFX.CollectionChangedEventArgs',EventArgs);ScriptFX.ApplicationUnloadingEventArgs.createClass('ScriptFX.ApplicationUnloadingEventArgs',EventArgs);ScriptFX.HistoryManager.createClass('ScriptFX.HistoryManager',null,IDisposable);ScriptFX.HistoryEventArgs.createClass('ScriptFX.HistoryEventArgs',EventArgs);ScriptFX.HostInfo.createClass('ScriptFX.HostInfo');ScriptFX.EventList.createClass('ScriptFX.EventList');ScriptFX.JSON.createClass('ScriptFX.JSON');ScriptFX.PropertyChangedEventArgs.createClass('ScriptFX.PropertyChangedEventArgs',EventArgs);ScriptFX.ObservableCollection.createClass('ScriptFX.ObservableCollection',null,IDisposable,IArray,IEnumerable,ScriptFX.INotifyCollectionChanged);ScriptFX.Net.HTTPRequest.createClass('ScriptFX.Net.HTTPRequest',null,IDisposable);ScriptFX.Net.HTTPRequestManager.createClass('ScriptFX.Net.HTTPRequestManager');ScriptFX.Net.HTTPTransport.createClass('ScriptFX.Net.HTTPTransport',null,IDisposable);ScriptFX.Net.PostHTTPRequestEventArgs.createClass('ScriptFX.Net.PostHTTPRequestEventArgs',EventArgs);ScriptFX.Net.PreHTTPRequestEventArgs.createClass('ScriptFX.Net.PreHTTPRequestEventArgs',EventArgs);ScriptFX.Net._Core$2.createClass('ScriptFX.Net._Core$2',null,ScriptFX.Net.IHTTPResponse);ScriptFX.Net._Core$3.createClass('ScriptFX.Net._Core$3',ScriptFX.Net.HTTPTransport);ScriptFX.UI.Animation.createClass('ScriptFX.UI.Animation',null,IDisposable);ScriptFX.UI.AnimationManager.createClass('ScriptFX.UI.AnimationManager');ScriptFX.UI.AnimationSequence.createClass('ScriptFX.UI.AnimationSequence',ScriptFX.UI.Animation);ScriptFX.UI.Behavior.createClass('ScriptFX.UI.Behavior',null,IDisposable,ScriptFX.ISupportInitialize,ScriptFX.INotifyPropertyChanged);ScriptFX.UI.Color.createClass('ScriptFX.UI.Color');ScriptFX.UI.Control.createClass('ScriptFX.UI.Control',ScriptFX.UI.Behavior,ScriptFX.INotifyDisposing);ScriptFX.UI.DOMEventList.createClass('ScriptFX.UI.DOMEventList',null,IDisposable);ScriptFX.UI.DragDropEventArgs.createClass('ScriptFX.UI.DragDropEventArgs',EventArgs);ScriptFX.UI.DragDropManager.createClass('ScriptFX.UI.DragDropManager');ScriptFX.UI._Core$0.createClass('ScriptFX.UI._Core$0',null,ScriptFX.UI.IDragSource);ScriptFX.UI.Element.createClass('ScriptFX.UI.Element');ScriptFX.UI.TimedAnimation.createClass('ScriptFX.UI.TimedAnimation',ScriptFX.UI.Animation);ScriptFX.UI.FadeEffect.createClass('ScriptFX.UI.FadeEffect',ScriptFX.UI.TimedAnimation);ScriptFX.UI._Core$4.createClass('ScriptFX.UI._Core$4',ScriptFX.UI.Control);ScriptFX.UI.OverlayBehavior.createClass('ScriptFX.UI.OverlayBehavior',ScriptFX.UI.Behavior);ScriptFX.UI.PopupBehavior.createClass('ScriptFX.UI.PopupBehavior',ScriptFX.UI.Behavior);ScriptFX.Application.current=new ScriptFX.Application();ScriptFX.JSON.$0=null;ScriptFX.Net.HTTPRequestManager.$0=null;ScriptFX.Net.HTTPRequestManager.$1=null;ScriptFX.Net.HTTPRequestManager.$2=0;ScriptFX.Net.HTTPRequestManager.$3=[];ScriptFX.Net.HTTPRequestManager.$4=null;ScriptFX.UI.AnimationManager.$0=100;ScriptFX.UI.AnimationManager.$1=null;ScriptFX.UI.AnimationManager.$2=0;ScriptFX.UI.DragDropManager.$0=null;ScriptFX.UI.DragDropManager.$1=[];ScriptFX.UI.DragDropManager.$2=null;ScriptFX.UI.DragDropManager.$3=null;ScriptFX.UI.DragDropManager.$4=null;ScriptFX.UI.OverlayBehavior.$6='visibilityChanged';
// ---- Do not remove this footer ----
// Generated using Script# v0.5.1.0 (http://projects.nikhilk.net)
// -----------------------------------

Type.createNamespace('js.org.Dojo.DojoObjects');js.org.Dojo.DojoObjects.HANDLE_AS=function(){};js.org.Dojo.DojoObjects.HANDLE_AS.prototype = {XML:2,JSON:1,string:0}
js.org.Dojo.DojoObjects.HANDLE_AS.createEnum('js.org.Dojo.DojoObjects.HANDLE_AS',false);js.org.Dojo.DojoObjects._Box=function(){}
js.org.Dojo.DojoObjects._Box.prototype={h:0,l:0,t:0,w:0}
js.org.Dojo.DojoObjects.__RegexpOptions=function(){}
js.org.Dojo.DojoObjects.__RegexpOptions.prototype={locale:null,pattern:null,places:null,strict:null,type:null}
js.org.Dojo.DojoObjects.__ParseOptions=function(){}
js.org.Dojo.DojoObjects.__ParseOptions.prototype={currency:null,locale:null,pattern:null,strict:null,type:null}
js.org.Dojo.DojoObjects.__FormatOptions=function(){}
js.org.Dojo.DojoObjects.__FormatOptions.prototype={currency:null,locale:null,pattern:null,places:0,round:0,symbol:null,type:'decimal'}
js.org.Dojo.DojoObjects.NodeList=function(){}
js.org.Dojo.DojoObjects.NodeList.prototype={addClass:function(className){return null;},adopt:function(nodeList,position){return null;},anim:function(properties,duration,easing,onEnd,delay){return null;},animateProperty:function(args){return null;},at:function(index1,index2,index3,index4,index5){return null;},concat:function(item){return null;},empty:function(){},every:function(callback,thisObject){return true;},fadeOut:function(args){return null;},fadeIn:function(args){return null;},fadeTo:function(args){return null;},forEach:function(callback){return null;},query:function(queryStr){return null;},removeClass:function(className){return null;},toggleClass:function(className,condition){return null;}}
js.org.Dojo.DojoObjects.__FadeArgs=function(node,duration,easing){this.node=node;this.duration=duration;this.easing=easing;}
js.org.Dojo.DojoObjects.__FadeArgs.prototype={node:null,duration:0,easing:null}
js.org.Dojo.DojoObjects.__PropertyInfo=function(name,start,end,unit){if(!isNullOrUndefined(start)){this.start=start;}if(!isNullOrUndefined(end)){this.end=end;}if(!isNullOrUndefined(unit)){unit='px';}this.unit=unit;this.set_name(name);}
js.org.Dojo.DojoObjects.__PropertyInfo.prototype={start:null,end:null,unit:null,$0:null,get_name:function(){return this.$0;},set_name:function(value){this.$0=value;var $0=this.$0;while($0.indexOf('-')>-1){var $1=$0.indexOf('-');$0=$0.substr(0,$1)+$0.substr($1+1,1).toUpperCase()+$0.substr($1+2);}this.$0=$0;return value;}}
js.org.Dojo.DojoObjects.__AnimArgs=function(node,props,durationMS,easingFunc,onEnd){node=dojoClass.byId(node);if(isNullOrUndefined(this.duration)){durationMS=1000;}this.properties={};if(Type.canCast(props,js.org.Dojo.DojoObjects.__PropertyInfo)){this.addProperty((props));}else{for(var $0=0;$0<props.length;$0++){this.addProperty(props[$0]);}}this.node=node;this.easing=easingFunc;this.onEnd=onEnd;this.duration=durationMS;}
js.org.Dojo.DojoObjects.__AnimArgs.prototype={addProperty:function(p){if(!isNullOrUndefined(p)){this.properties[p.get_name()]=p;}},duration:0,easing:null,node:null,properties:null,onEnd:null}
js.org.Dojo.DojoObjects.__XhrArgs=function(url,handleAs){this.content={};this.headers={};this.setHandleAs(handleAs);this.url=url;}
js.org.Dojo.DojoObjects.__XhrArgs.prototype={sync:false,form:null,preventCache:false,timeout:30000,url:null,handleAs:null,setHandleAs:function(handleAs){if(handleAs===1){this.handleAs='json';}else if(handleAs===2){this.handleAs='xml';}},load:null,error:null,add_onLoad:function(value){this.load=value;},remove_onLoad:function(value){this.load=null;},add_onError:function(value){this.error=value;},remove_onError:function(value){this.error=null;}}
js.org.Dojo.DojoObjects._Box.createClass('js.org.Dojo.DojoObjects._Box');js.org.Dojo.DojoObjects.__RegexpOptions.createClass('js.org.Dojo.DojoObjects.__RegexpOptions');js.org.Dojo.DojoObjects.__ParseOptions.createClass('js.org.Dojo.DojoObjects.__ParseOptions');js.org.Dojo.DojoObjects.__FormatOptions.createClass('js.org.Dojo.DojoObjects.__FormatOptions');js.org.Dojo.DojoObjects.NodeList.createClass('js.org.Dojo.DojoObjects.NodeList');js.org.Dojo.DojoObjects.__FadeArgs.createClass('js.org.Dojo.DojoObjects.__FadeArgs');js.org.Dojo.DojoObjects.__PropertyInfo.createClass('js.org.Dojo.DojoObjects.__PropertyInfo');js.org.Dojo.DojoObjects.__AnimArgs.createClass('js.org.Dojo.DojoObjects.__AnimArgs');js.org.Dojo.DojoObjects.__XhrArgs.createClass('js.org.Dojo.DojoObjects.__XhrArgs');
// ---- Do not remove this footer ----
// Generated using Script# v0.5.1.0 (http://projects.nikhilk.net)
// -----------------------------------

Type.createNamespace('js.com.CS.AJAX');js.com.CS.AJAX.METHOD=function(){};js.com.CS.AJAX.METHOD.prototype = {get:0,post:1}
js.com.CS.AJAX.METHOD.createEnum('js.com.CS.AJAX.METHOD',false);js.com.CS.AJAX.AJAX=function(){}
js.com.CS.AJAX.AJAX.xhr=function(url,qsParameters,onLoad,onError,handleAs,method){if(isNullOrUndefined(onError)){onError=null;}if(isNullOrUndefined(handleAs)){handleAs=1;}if(isNullOrUndefined(method)){method=0;}var $0=new js.org.Dojo.DojoObjects.__XhrArgs(url,1);$0.content=qsParameters;if(onLoad){$0.add_onLoad(onLoad);}if(onError){$0.add_onError(onError);}if(!method){return dojoClass.xhrGet($0);}else{return dojoClass.xhrPost($0);}}
Type.createNamespace('js.com.CS.Controls.Common');js.com.CS.Controls.Common.IMyDOMElement=function(){};js.com.CS.Controls.Common.IMyDOMElement.createInterface('js.com.CS.Controls.Common.IMyDOMElement');js.com.CS.Controls.Common.LoadingCtrl=function(attachedDOMNode,loadingImage,loadingText,errorImage,errorText){this.attachedDOMNode=attachedDOMNode;if(!String.isNullOrEmpty(loadingImage)){this.loadingImage=loadingImage;}if(!String.isNullOrEmpty(loadingText)){this.loadingText=loadingText;}if(!String.isNullOrEmpty(errorImage)){this.errorImage=errorImage;}if(!String.isNullOrEmpty(errorText)){this.errorText=errorText;}this.domNode=new js.com.CS.Controls.Common.MyTableElement();this.domNode.addClass('ajax-load');var $0=this.domNode.insertRow(-1);var $1=$0.insertCell(-1);this.tb=new js.com.CS.Controls.Common.MyTableElement();this.tb.addClass('ajax-load-child');$1.appendChild(this.tb);var $2=this.tb.insertRow(-1);var $3=$2.insertCell(-1);$3.addClass('ajax-load-image');this.$1=new js.com.CS.Controls.Common.MyImageElement();$3.appendChild(this.$1);this.$0=$2.insertCell(-1);this.$0.addClass('ajax-load-text');this.domNode.setOpacity(0);}
js.com.CS.Controls.Common.LoadingCtrl.prototype={loadingImage:'/images/ajax_load.gif',errorImage:'/images/ajax_error.gif',successImage:'/images/ajax_success.gif',loadingText:'Loading...',errorText:'Error occured!',attachedDOMNode:null,tb:null,$0:null,domNode:null,$1:null,$2:function(){var $0=this.attachedDOMNode.getCoords();this.domNode.get_style().position='absolute';this.domNode.get_style().left=$0.x+'px';this.domNode.get_style().top=$0.y+'px';$0.t=0;$0.l=0;this.domNode.setContentBox($0);},show:function(){this.$2();this.domNode.fadeIn(js.com.CS.Controls.Common.LoadingCtrl.fadE_IN_OUT_TIME);},hide:function(){this.domNode.fadeOut(js.com.CS.Controls.Common.LoadingCtrl.fadE_IN_OUT_TIME);},isLoading:function(){this.$1.set_src(this.loadingImage);this.$1.set_alt(this.$0.set_innerText(this.loadingText));this.show();},isFinishedLoading:function(){this.hide();},isLoadingError:function(){this.$1.set_src(this.errorImage);this.$1.set_alt(this.$0.set_innerText(this.errorText));this.show();}}
js.com.CS.Controls.Common.MyAnchorElement=function(domElement){js.com.CS.Controls.Common.MyAnchorElement.constructBase(this,[(isNullOrUndefined(domElement))?document.createElement('a'):domElement]);}
js.com.CS.Controls.Common.MyAnchorElement.prototype={domElement:null,get_href:function(){return this.domElement.href;},set_href:function(value){this.domElement.href=value;return value;},get_text:function(){return this.domElement.innerText;},set_text:function(value){this.domElement.innerText=value;return value;}}
js.com.CS.Controls.Common.MyDivElement=function(domElement){js.com.CS.Controls.Common.MyDivElement.constructBase(this,[(isNullOrUndefined(domElement))?document.createElement('div'):domElement]);}
js.com.CS.Controls.Common.MyDivElement.prototype={domElement:null}
js.com.CS.Controls.Common.MyDOMElement=function(domElement){if(!isNullOrUndefined(domElement)){if(Type.canCast(domElement,String)){this.domElement=dojoClass.byId(domElement);}else if(Type.canCast(domElement,Object)){this.domElement=domElement;}else{throw new Error('Must either be a string or DOM Element');}}if(!this.domElement){throw new Error('Please specify element \''+domElement+'\'');}}
js.com.CS.Controls.Common.MyDOMElement.getElement=function(domElement){var $0=null;if(Type.canCast(domElement,js.com.CS.Controls.Common.MyDOMElement)){$0=domElement;}else{$0=new js.com.CS.Controls.Common.MyDOMElement(domElement);}return $0;}
js.com.CS.Controls.Common.MyDOMElement.prototype={domElement:null,appendChild:function(obj){var $0=null;var $1=new js.com.CS.General.Arrays.MyArray();if(Type.canCast(obj,js.com.CS.Controls.Common.MyDOMElement)){$0=(obj).domElement;}else if(Type.canCast(obj,Object)){$0=obj;}else{throw new Error('Cannot append child if it is not DOMElement or \'MyDOMElement\'');}return this.domElement.appendChild($0);},add_onClick:function(value){this.domElement.attachEvent('onclick',value);},remove_onClick:function(value){this.domElement.detachEvent('onclick',value);},add_onFocus:function(value){this.domElement.attachEvent('onfocus',value);},remove_onFocus:function(value){this.domElement.detachEvent('onfocus',value);},add_onBlur:function(value){this.domElement.attachEvent('onblur',value);},remove_onBlur:function(value){this.domElement.detachEvent('onblur',value);},add_onMouseDown:function(value){this.domElement.attachEvent('onmousedown',value);},remove_onMouseDown:function(value){this.domElement.detachEvent('onmousedown',value);},add_onMouseOver:function(value){this.domElement.attachEvent('onmouseover',value);},remove_onMouseOver:function(value){this.domElement.detachEvent('onmouseover',value);},add_onMouseOut:function(value){this.domElement.attachEvent('onmouseout',value);},remove_onMouseOut:function(value){this.domElement.detachEvent('onmouseout',value);},add_onMouseUp:function(value){this.domElement.attachEvent('onmouseup',value);},remove_onMouseUp:function(value){this.domElement.detachEvent('onmouseup',value);},add_onKeyUp:function(value){this.domElement.attachEvent('onkeyup',value);},remove_onKeyUp:function(value){this.domElement.detachEvent('onkeyup',value);},add_onKeyDown:function(value){this.domElement.attachEvent('onkeydown',value);},remove_onKeyDown:function(value){this.domElement.detachEvent('onkeydown',value);},add_onKeyPress:function(value){this.domElement.attachEvent('onkeypress',value);},remove_onKeyPress:function(value){this.domElement.detachEvent('onkeypress',value);},hide:function(){this.domElement.style.display='none';},show:function(){this.domElement.style.display='';},get_disabled:function(){return this.domElement.disabled;},set_disabled:function(value){this.domElement.disabled=value;return value;},get_enabled:function(){return !this.get_disabled();},set_enabled:function(value){this.set_disabled(!value);return value;},enable:function(){this.set_enabled(true);},disable:function(){this.set_disabled(true);},get_readOnly:function(){return this.domElement.readonly;},set_readOnly:function(value){this.domElement.readonly = value;return value;},$0:null,get_loadingCtrl:function(){this.$1();return this.$0;},performClick:function(){this.domElement.click();},$1:function(){if(!this.$0){this.$0=new js.com.CS.Controls.Common.LoadingCtrl(this);document.body.appendChild(this.$0.domNode.domElement);}},isLoading:function(){this.$1();this.$0.isLoading();this.fadeOut(js.com.CS.Controls.Common.LoadingCtrl.fadE_IN_OUT_TIME);},isLoadingError:function(){this.$1();this.$0.isLoadingError();this.fadeOut(js.com.CS.Controls.Common.LoadingCtrl.fadE_IN_OUT_TIME);},isFinishedLoading:function(){this.$1();this.$0.isFinishedLoading();this.fadeIn(js.com.CS.Controls.Common.LoadingCtrl.fadE_IN_OUT_TIME);},get_tagName:function(){return this.domElement.tagName.toLowerCase();},get_tagType:function(){if(!String.compare(this.get_tagName(),'input',true)){var $0=this.domElement;return $0.type.toLowerCase();}return '';},get_style:function(){return this.domElement.style;},get_id:function(){return this.domElement.id;},set_id:function(value){this.domElement.id=value;return value;},get_innerHTML:function(){return this.domElement.innerHTML;},set_innerHTML:function(value){this.domElement.innerHTML=value;return value;},get_innerText:function(){return this.domElement.innerText;},set_innerText:function(value){this.domElement.innerText=value;return value;},setOpacity:function(d){dojoClass.style(this.domElement,'opacity',d);},$2:null,focus:function(){try{this.domElement.focus();return true;}catch($0){return false;}},$3:false,blur:function(){var $0=true;if(!this.$3){this.$3=true;try{this.domElement.blur();}catch($1){$0=false;}this.$3=false;}return $0;},fadeIn:function(duration){if(this.$4&&this.$4.status()==='playing'){this.$4.stop(true);}this.show();var $0=new js.org.Dojo.DojoObjects.__FadeArgs(this.domElement,duration,null);this.$2=dojoClass.fadeIn($0);this.$2.play();return this.$2;},$4:null,fadeOut:function(duration){if(duration>0){if(this.$2&&this.$2.status()==='playing'){this.$2.stop(true);}this.show();var $0=new js.org.Dojo.DojoObjects.__FadeArgs(this.domElement,duration,null);this.$4=dojoClass.fadeOut($0);this.$4.onEnd=Delegate.create(this,this.hide);this.$4.play();return this.$4;}else{this.setOpacity(0);this.hide();return null;}},getContentBox:function(){return dojoClass.contentBox(this.domElement);},setContentBox:function(box){dojoClass.contentBox(this.domElement,box);},getMarginBox:function(){return dojoClass.marginBox(this.domElement);},setMarginBox:function(box){dojoClass.marginBox(this.domElement,box);},getCoords:function(){return dojoClass.coords(this.domElement);},placeChildBefore:function(elem){dojoClass.place(elem,this.domElement,'before');},placeChildAfter:function(elem){dojoClass.place(elem,this.domElement,'after');},$5:null,$6:function(){return this.$5;},showAsDialog:function(title){if(this.$5){this.$5.hide();}var $0={};$0.title=title;if(!this.$5){this.$5=new dijit.Dialog($0,this.domElement);}this.$5.onUnload=Delegate.combine(Delegate.create(this,this.$7),this.$5.onUnload);this.$5.show();return this.$5;},$7:function(){},hideDialog:function(){if(this.$5){this.$5.hide();this.$5=null;}else{throw new Error(this.get_id()+':: No dialog to hide!');}},addClass:function(className){dojoClass.addClass(this.domElement,className);},removeClass:function(className){dojoClass.removeClass(this.domElement,className);},toggleClass:function(className){dojoClass.toggleClass(this.domElement,className);},get_form:function(){if(!String.compare(this.get_tagName(),'input',true)||!String.compare(this.get_tagName(),'select',true)||!String.compare(this.get_tagName(),'textarea',true)){var $0=this.domElement;return $0.form;}else{throw new Error('Cannot retrieve \'Form\' if the item is not a \'input\',\'select\', or \'textarea\'');}},get_myDomElement:function(){return this;}}
js.com.CS.Controls.Common.MyFormElement=function(domElement){js.com.CS.Controls.Common.MyFormElement.constructBase(this,[(isNullOrUndefined(domElement))?document.createElement('form'):domElement]);}
js.com.CS.Controls.Common.MyFormElement.prototype={domElement:null,checkIfFormContainsFilledFileUploads:function(){var $0=dojoClass.query('input[type=\'file\']',this.domElement);for(var $1=0;$1<$0.length;$1++){var $2=new js.com.CS.Controls.Form.MyFileUpload($0[$1]);if(!String.isNullOrEmpty($2.get_value())){return true;}}return false;},add_onSubmit:function(value){this.domElement.attachEvent('onsubmit',value);},remove_onSubmit:function(value){this.domElement.detachEvent('onsubmit',value);},get_action:function(){return this.domElement.action;},set_action:function(value){this.domElement.action=value;return value;}}
js.com.CS.Controls.Common.MyImageElement=function(domElement){js.com.CS.Controls.Common.MyImageElement.constructBase(this,[(isNullOrUndefined(domElement))?document.createElement('img'):domElement]);}
js.com.CS.Controls.Common.MyImageElement.prototype={domElement:null,get_src:function(){return this.domElement.src;},set_src:function(value){this.domElement.src=value;return value;},get_alt:function(){return this.domElement.alt;},set_alt:function(value){this.domElement.alt=value;return value;},add_onLoad:function(value){this.domElement.attachEvent('onload',value);},remove_onLoad:function(value){this.domElement.detachEvent('onload',value);}}
js.com.CS.Controls.Common.MyInputElement=function(domElement,inputType){js.com.CS.Controls.Common.MyInputElement.constructBase(this,[(isNullOrUndefined(domElement))?document.createElement('input'):domElement]);if(isNullOrUndefined(inputType)){this.domElement.type=inputType;}}
js.com.CS.Controls.Common.MyInputElement.prototype={domElement:null}
js.com.CS.Controls.Common.MySpanElement=function(domElement){js.com.CS.Controls.Common.MySpanElement.constructBase(this,[(isNullOrUndefined(domElement))?document.createElement('span'):domElement]);}
js.com.CS.Controls.Common.MyTableCellElement=function(domElement,heading){js.com.CS.Controls.Common.MyTableCellElement.constructBase(this,[(isNullOrUndefined(domElement))?(document.createElement((isNullOrUndefined(heading)||!heading)?'td':'th')):domElement]);}
js.com.CS.Controls.Common.MyTableCellElement.prototype={domElement:null,get_cellIndex:function(){return this.domElement.get_cellIndex();},get_colSpan:function(){return this.domElement.colSpan;},set_colSpan:function(value){this.domElement.colSpan=value;return value;}}
js.com.CS.Controls.Common.MyTableElement=function(domElement){js.com.CS.Controls.Common.MyTableElement.constructBase(this,[(isNullOrUndefined(domElement))?document.createElement('table'):domElement]);}
js.com.CS.Controls.Common.MyTableElement.prototype={domElement:null,insertRow:function(index){if(isNullOrUndefined(index)){index=-1;}var $0=this.domElement.insertRow(index);return new js.com.CS.Controls.Common.MyTableRowElement($0);},deleteRow:function(index){var $0=index;if(Type.canCast($0,js.com.CS.Controls.Common.MyTableRowElement)){var $1=$0;index=$1.domElement.rowIndex;}else if(Type.canCast($0,Number)){}this.domElement.deleteRow(index);}}
js.com.CS.Controls.Common.MyTableRowElement=function(domElement){js.com.CS.Controls.Common.MyTableRowElement.constructBase(this,[(isNullOrUndefined(domElement))?document.createElement('tr'):domElement]);}
js.com.CS.Controls.Common.MyTableRowElement.prototype={domElement:null,insertCell:function(index){if(isNullOrUndefined(index)){index=-1;}var $0=this.domElement.insertCell(index);return new js.com.CS.Controls.Common.MyTableCellElement($0);},deleteCell:function(index){var $0=index;if(Type.canCast($0,js.com.CS.Controls.Common.MyTableCellElement)){var $1=$0;index=$1.get_cellIndex();}else if(Type.canCast($0,Number)){}this.domElement.deleteCell(index);},get_rowIndex:function(){return this.domElement.rowIndex;}}
Type.createNamespace('js.com.CS.Controls.Common.ListingControl');js.com.CS.Controls.Common.ListingControl.Column=function(text,width){if(isNullOrUndefined(width)){width=null;}this.text=text;this.width=width;}
js.com.CS.Controls.Common.ListingControl.Column.prototype={text:null,width:null}
js.com.CS.Controls.Common.ListingControl.Listing=function(parent,height){this.rowButtons=new js.com.CS.General.Arrays.MyArray();this.dataSource=new js.com.CS.General.Arrays.MyArray();this.columns=new js.com.CS.General.Arrays.MyArray();this.listingItemRows=new js.com.CS.General.Arrays.MyArray();this.$1=parent;this.$5(height);}
js.com.CS.Controls.Common.ListingControl.Listing.prototype={imageDeleteNormal:'/images/delete_up.gif',imageDeleteOver:'/images/delete_over.gif',classRowNormal:'listing',classRowAlt:'listing_alt',classRowSelected:'listing_sel',classCell:'listing',classAnchor:'listing',classHeader:'listingHeader',noResultsText:'No results found',columns:null,rowButtons:null,domNode:null,dataSource:null,listingItemRows:null,$0:null,$1:null,$2:null,$3:null,$4:null,allowSelection:false,allowDelete:false,$5:function($p0){var $0={};this.$2=new js.com.CS.Controls.Dojo.Layout.MyContentPane($0);this.$1.appendChild(this.$2.domElement);this.domNode=this.$2.domElement;if($p0){this.domNode.get_style().height=$p0;}this.domNode.addClass('listing');this.$1=this.$1;this.$0=new js.com.CS.Controls.Common.MyTableElement();this.$2.appendChild(this.$0);this.$0.addClass('listing');this.$2.domElement.addClass('listing');this.$3=this.$0.insertRow(-1);this.$4=this.$3.insertCell(-1);this.$2.createPane();},$6:function(){var $0=1;if(this.columns.get_length()>0){$0=this.columns.get_length();var $1=this.$0.insertRow(1);for(var $2=0;$2<this.columns.get_length();$2++){var $3=this.columns.get_item($2);var $4=$1.insertCell();$4.addClass(this.classHeader);$4.set_innerText($3.text);if(!String.isNullOrEmpty($3.width)){$4.get_style().width=$3.width;}}}this.$4.set_colSpan($0);if(this.rowButtons.get_length()>0){this.$4.set_colSpan(this.$4.get_colSpan()+1)-1;}},$7:false,$8:function(){if(this.allowDelete){var $0=new js.com.CS.Controls.Common.ListingControl.RowButton(this.imageDeleteNormal,this.imageDeleteOver,'Delete Item',Delegate.create(this,this.$9));this.addRowButton($0);}},$9:function($p0){if(this.$D){this.$D.invoke($p0);}},init:function(){this.$7=true;this.$6();this.$8();if(!this.$C){throw new Error('Listing:: Please attach to \'ItemDataBound\'');}},isLoading:function(){this.clearListingItems();this.$0.isLoading();},addRowButton:function(btn){this.rowButtons.push(btn);},isLoadingError:function(){this.clearListingItems();this.$0.isLoadingError();},showMessage:function(msg){this.$3.get_style().display='';this.$4.set_innerHTML(msg);},hideMessage:function(){this.$3.get_style().display='none';},showNoResultsText:function(){this.showMessage('No results found');},clearListingItems:function(){this.$B();this.dataSource=new js.com.CS.General.Arrays.MyArray();},addColumn:function(col){this.columns.push(col);},addDataSourceObject:function(o){this.dataSource.push(o);},$A:function(){for(var $0=0;$0<this.listingItemRows.get_length();$0++){var $1=this.listingItemRows.get_item($0);$1.unSelect();}},$B:function(){for(var $0=0;$0<this.listingItemRows.get_length();$0++){var $1=this.listingItemRows.get_item($0);if($1.tr.get_rowIndex()!==-1){this.$0.deleteRow($1.tr.get_rowIndex());}}this.listingItemRows=new js.com.CS.General.Arrays.MyArray();},render:function(){if(!this.$7){this.init();}this.hideMessage();this.$0.isFinishedLoading();this.$B();var $0=false;for(var $1=0;$1<this.dataSource.get_length();$1++){var $2=this.$0.insertRow();var $3=this.dataSource.get_item($1);var $4=new js.com.CS.Controls.Common.ListingControl.ListingItemRow(this,$3,$2,$0);this.$C.invoke($4);this.listingItemRows.push($4);$0=!$0;}if(!this.dataSource.get_length()){this.showMessage(this.noResultsText);}},add_itemDataBound:function(value){this.$C=Delegate.combine(this.$C,value);},remove_itemDataBound:function(value){this.$C=Delegate.remove(this.$C,value);},$C:null,add_deleteItem:function(value){this.$D=Delegate.combine(this.$D,value);},remove_deleteItem:function(value){this.$D=Delegate.remove(this.$D,value);},$D:null}
js.com.CS.Controls.Common.ListingControl.ListingItemRow=function(listing,Item,tr,isAlternating){this.tr=tr;this.$0=listing;this.item=Item;this.isAlternating=isAlternating;this.$1();}
js.com.CS.Controls.Common.ListingControl.ListingItemRow.prototype={$0:null,$1:function(){this.cellContent=[];for(var $0=0;$0<this.$0.columns.get_length()||!$0;$0++){this.cellContent[$0]=this.tr.insertCell();this.cellContent[$0].addClass(this.$0.classCell);}if(this.$0.rowButtons.get_length()>0){var $1=this.tr.insertCell();$1.addClass('buttons');var $2=new js.com.CS.Controls.Common.MyTableElement();$1.appendChild($2);$2.addClass('buttons');var $3=$2.insertRow();$3.addClass('buttons');for(var $4=0;$4<this.$0.rowButtons.get_length();$4++){var $5=this.$0.rowButtons.get_item($4);var $6=$5.$1(this);var $7=$3.insertCell();var $8=new js.com.CS.Controls.Common.MyImageElement();$7.appendChild($8);$8.set_src($5.imageNormal);$8.set_alt($5.alternateText);$8.add_onMouseDown(Delegate.create($6,$6.$2));}}this.tr.add_onMouseDown(Delegate.create(this,this.$2));this.$4();},$2:function(){if(this.$0.allowSelection){this.select();}if(this.$3){this.$3.invoke(this);}},isSelected:false,isAlternating:false,tr:null,item:null,tag:null,tag2:null,tag3:null,cellContent:null,add_onMouseDown:function(value){this.$3=Delegate.combine(this.$3,value);},remove_onMouseDown:function(value){this.$3=Delegate.remove(this.$3,value);},$3:null,$4:function(){this.tr.removeClass(this.$0.classRowNormal);this.tr.removeClass(this.$0.classRowSelected);this.tr.removeClass(this.$0.classRowAlt);this.tr.addClass((!this.isAlternating)?this.$0.classRowNormal:this.$0.classRowAlt);},unSelect:function(){this.isSelected=false;this.$4();},select:function(){this.$0.$A();this.isSelected=true;this.tr.addClass(this.$0.classRowSelected);}}
js.com.CS.Controls.Common.ListingControl._rowButtonInstance=function(){}
js.com.CS.Controls.Common.ListingControl._rowButtonInstance.prototype={$0:null,$1:null,$2:function(){this.$0.$2(this.$1);}}
js.com.CS.Controls.Common.ListingControl.RowButton=function(imageNormal,imageOver,altText,clickHandler){this.imageNormal=imageNormal;this.imageOver=imageOver;this.alternateText=altText;this.$0=clickHandler;}
js.com.CS.Controls.Common.ListingControl.RowButton.prototype={imageNormal:null,imageOver:null,alternateText:null,add_clickHandler:function(value){this.$0=Delegate.combine(this.$0,value);},remove_clickHandler:function(value){this.$0=Delegate.remove(this.$0,value);},$0:null,$1:function($p0){var $0=new js.com.CS.Controls.Common.ListingControl._rowButtonInstance();$0.$1=$p0;$0.$0=this;return $0;},$2:function($p0){if(this.$0){this.$0.invoke($p0);}}}
Type.createNamespace('js.com.CS.Controls.Dojo.Form');js.com.CS.Controls.Dojo.Form.MyHorizontalRuleLabels=function(p){this.parameters=p;this.ol=document.createElement('ol');this.container='bottomContainer';}
js.com.CS.Controls.Dojo.Form.MyHorizontalRuleLabels.prototype={ol:null,parameters:null,container:null,addLabel:function(html){var $0=document.createElement('li');$0.innerHTML=html;this.ol.appendChild($0);}}
js.com.CS.Controls.Dojo.Form.MyHorizontalSlider=function(p,domElement){this.domElement=domElement;this.rules=[];this.ruleLabels=[];this.parameters=p;}
js.com.CS.Controls.Dojo.Form.MyHorizontalSlider.prototype={domElement:null,parameters:null,rules:null,ruleLabels:null,slider:null,setValueToCenter:function(){var $0=this.slider.maximum-((this.slider.maximum-this.slider.minimum)/2);this.setValue($0);},setValue:function(value){this.slider.setValue(value);},get_value:function(){return this.slider.value;},set_value:function(value){this.slider.value=value;return value;},addHorizontalRule:function(p){var $0=document.createElement('div');this.domElement.appendChild($0);var $1=new dijit.form.HorizontalRule(p,$0);this.rules[this.rules.length]=$1;},addHorizontalRuleLabels:function(labels){this.domElement.appendChild(labels.ol);var $0=new dijit.form.HorizontalRuleLabels(labels.parameters,labels.ol);this.ruleLabels[this.ruleLabels.length]=$0;},startup:function(){this.slider=new dijit.form.HorizontalSlider(this.parameters,this.domElement.domElement);this.slider.startup();for(var $0=0;$0<this.ruleLabels.length;$0++){var $1=this.ruleLabels[$0];$1.startup();}for(var $2=0;$2<this.rules.length;$2++){var $3=this.rules[$2];$3.startup();}}}
Type.createNamespace('js.com.CS.Controls.Dojo.Layout');js.com.CS.Controls.Dojo.Layout.MyContentPane=function(p,domElement){if(!domElement){domElement=new js.com.CS.Controls.Common.MyDivElement();}else if(Type.canCast(domElement,String)){domElement=new js.com.CS.Controls.Common.MyDivElement(domElement);}this.domElement=domElement;this.$1=p;}
js.com.CS.Controls.Dojo.Layout.MyContentPane.prototype={domElement:null,$0:null,$1:null,appendChild:function(domElement){if(Type.canCast(domElement,js.com.CS.Controls.Common.MyDOMElement)){this.domElement.appendChild(domElement.domElement);}else{this.domElement.appendChild(domElement.domElement);}},createPane:function(){this.$0=new dijit.layout.ContentPane(this.$1,this.domElement.domElement);}}
js.com.CS.Controls.Dojo.Layout.MySplitContainer=function(p,domElement){this.domElement=domElement;this.parameters=p;}
js.com.CS.Controls.Dojo.Layout.MySplitContainer.prototype={parameters:null,domElement:null}
Type.createNamespace('js.com.CS.Controls.Form.Enums');js.com.CS.Controls.Form.Enums.FORM_CONTROL_TYPE=function(){};js.com.CS.Controls.Form.Enums.FORM_CONTROL_TYPE.prototype = {checkBox:0,textBoxSingleLine:1,radioButton:2,textArea:3,select:4,button:5,textBoxMultiLine:7,textBoxHidden:8,textBoxPassword:9,fileUpload:10}
js.com.CS.Controls.Form.Enums.FORM_CONTROL_TYPE.createEnum('js.com.CS.Controls.Form.Enums.FORM_CONTROL_TYPE',false);Type.createNamespace('js.com.CS.Controls.Form');js.com.CS.Controls.Form.IMyBaseFormElement=function(){};js.com.CS.Controls.Form.IMyBaseFormElement.createInterface('js.com.CS.Controls.Form.IMyBaseFormElement');js.com.CS.Controls.Form.IMyButtonElement=function(){};js.com.CS.Controls.Form.IMyButtonElement.createInterface('js.com.CS.Controls.Form.IMyButtonElement');js.com.CS.Controls.Form.MyBaseButton=function(dom){js.com.CS.Controls.Form.MyBaseButton.constructBase(this,[dom]);}
js.com.CS.Controls.Form.MyBaseButton.prototype={createButtonForFormElement:function(validateFormOnClick,validationGroup,isDefaultButton,confirmMsg){var $0=new js.com.CS.UI.Forms.Button(this.domElement,validateFormOnClick,validationGroup,isDefaultButton,confirmMsg);return $0;}}
js.com.CS.Controls.Form.MyBaseFormElement=function(dom){js.com.CS.Controls.Form.MyBaseFormElement.constructBase(this,[dom]);}
js.com.CS.Controls.Form.MyBaseFormElement.getFormElement=function(elementID){if(Type.canCast(elementID,String)){elementID=$(elementID);}var $0=elementID;var $1=$0.tagName.toLowerCase();var $2='';if($0.attributes.getNamedItem('type')){$2=$0.attributes.getNamedItem('type').value.toLowerCase();}var $3=null;switch($1){case 'input':var $4=js.com.CS.Controls.Form.MyTextBox.getTextBoxFromElement($0);if(!$4){switch($2){case 'checkbox':var $5=new js.com.CS.Controls.Form.MyCheckBox($0);$3=$5;break;case 'file':var $6=new js.com.CS.Controls.Form.MyFileUpload($0);$3=$6;break;case 'radio':var $7=new js.com.CS.Controls.Form.MyRadioButton($0);$3=$7;break;}}else{$3=$4;}break;case 'textarea':var $8=new js.com.CS.Controls.Form.MyTextBoxMultiLine($0);$3=$8;break;case 'select':var $9=new js.com.CS.Controls.Form.MyDropDownList($0);$3=$9;break;}return $3;}
js.com.CS.Controls.Form.MyBaseFormElement.prototype={createFieldForFormElement:function(title,validationParams,validationGroup,customCSSClasses,groupParams){var $0=new js.com.CS.UI.Forms.Field(this.domElement,title,validationParams,validationGroup,customCSSClasses,groupParams);return $0;},get_text:function(){return this.get_value();},set_text:function(value){this.set_value(value);return value;},get_value:function(){return this.domElement.value;},set_value:function(value){this.domElement.value = value;return value;},get_valueObject:function(){return this.get_value();},set_valueObject:function(value){this.set_value(value);return value;},add_onChange:function(value){this.domElement.attachEvent('onchange',value);},remove_onChange:function(value){this.domElement.detachEvent('onchange',value);},clear:function(){this.set_value('');}}
js.com.CS.Controls.Form.MyButton=function(btn){js.com.CS.Controls.Form.MyButton.constructBase(this,[(isNullOrUndefined(btn))?document.createElement('input'):btn]);this.domElement.type = 'button';}
js.com.CS.Controls.Form.MyButton.prototype={domElement:null}
js.com.CS.Controls.Form.MyCheckBox=function(chk){js.com.CS.Controls.Form.MyCheckBox.constructBase(this,[(isNullOrUndefined(chk))?document.createElement('input'):chk]);this.domElement.type = 'checkbox';}
js.com.CS.Controls.Form.MyCheckBox.prototype={domElement:null,get_checked:function(){return this.domElement.checked;},set_checked:function(value){this.domElement.checked=value;return value;},clear:function(){this.domElement.checked=false;},get_value:function(){return this.get_checked();},set_value:function(value){var $0=value;if(Type.canCast(value,String)){$0=!String.isNullOrEmpty((value));}else if(Type.canCast($0,Number)){$0=($0);}this.set_checked($0);return value;},get_controlType:function(){return 0;},get_valueObject:function(){return this.get_checked();},set_valueObject:function(value){this.set_checked(value);return value;}}
js.com.CS.Controls.Form.MyDropDownList=function(txt){js.com.CS.Controls.Form.MyDropDownList.constructBase(this,[(isNullOrUndefined(txt))?document.createElement('select'):txt]);}
js.com.CS.Controls.Form.MyDropDownList.prototype={domElement:null,get_selectedIndex:function(){return this.domElement.selectedIndex;},set_selectedIndex:function(value){this.domElement.selectedIndex=value;return value;},clearItems:function(){var $0=this.domElement.options.length;for(var $1=0;$1<$0;$1++){this.domElement.remove(0);}},removeItem:function(index){this.domElement.remove(index);},addItem:function(txt,value){if(isNullOrUndefined(value)){value=txt;}var $0=document.createElement('option');$0.value=value;$0.text=txt;this.domElement.add($0,null);},addItemFromOption:function(option){this.addItem(option.text,option.value);},get_options:function(){return this.domElement.options;},callChange:function(){var $0=this.onchange;if($0){this.onchange();}},get_controlType:function(){return 4;}}
js.com.CS.Controls.Form.MyFileUpload=function(txt){js.com.CS.Controls.Form.MyFileUpload.constructBase(this,[(isNullOrUndefined(txt))?document.createElement('input'):txt]);this.domElement.type = 'file';}
js.com.CS.Controls.Form.MyFileUpload.prototype={domElement:null,get_controlType:function(){return 10;},get_valueObject:function(){return this.get_value();},set_valueObject:function(value){this.set_value(value);return value;}}
js.com.CS.Controls.Form.MyRadioButton=function(radioButton){js.com.CS.Controls.Form.MyRadioButton.constructBase(this,[(isNullOrUndefined(radioButton))?document.createElement('input'):radioButton]);this.domElement.type = 'radio';}
js.com.CS.Controls.Form.MyRadioButton.prototype={domElement:null,get_checked:function(){return this.domElement.checked;},set_checked:function(value){this.domElement.checked=value;return value;},clear:function(){this.domElement.checked=false;},get_controlType:function(){return 2;},get_valueObject:function(){return this.get_checked();},set_valueObject:function(value){this.set_checked(value);return value;}}
js.com.CS.Controls.Form.MyTextBox=function(txt,type){js.com.CS.Controls.Form.MyTextBox.constructBase(this,[txt]);if(type&&this.domElement.type!==type){if(dojoClass.isIE>0&&this.domElement.parentNode){var $0=document.createElement('input');$0.type=type;dojoClass.place($0,this.domElement,'before');this.domElement.parentNode.removeChild(this.domElement);$0.id=this.domElement.id;this.domElement=null;this.domElement=$0;}else{this.domElement.type=type;}}}
js.com.CS.Controls.Form.MyTextBox.getTextBoxFromElement=function(element){element=js.com.CS.Controls.Common.MyDOMElement.getElement(element);var $0=null;if(element){if(element.get_tagName()==='input'){switch(element.get_tagType()){case 'hidden':$0=new js.com.CS.Controls.Form.MyTextBoxHidden(element.domElement);break;case 'password':$0=new js.com.CS.Controls.Form.MyTextBoxPassword(element.domElement);break;case 'text':case '':$0=new js.com.CS.Controls.Form.MyTextBoxSingleLine(element.domElement);break;}}else if(element.get_tagName()==='textarea'){$0=new js.com.CS.Controls.Form.MyTextBoxMultiLine(element.domElement);}}return $0;}
js.com.CS.Controls.Form.MyTextBox.prototype={domElement:null,get_controlType:function(){return 1;},get_valueObject:function(){return this.get_text();},set_valueObject:function(value){this.set_text(value);return value;}}
js.com.CS.Controls.Form.MyTextBoxHidden=function(txt){js.com.CS.Controls.Form.MyTextBoxHidden.constructBase(this,[(isNullOrUndefined(txt))?document.createElement('input'):txt,'hidden']);}
js.com.CS.Controls.Form.MyTextBoxHidden.prototype={get_controlType:function(){return 8;}}
js.com.CS.Controls.Form.MyTextBoxMultiLine=function(txt){js.com.CS.Controls.Form.MyTextBoxMultiLine.constructBase(this,[(isNullOrUndefined(txt))?document.createElement('textarea'):txt,null]);}
js.com.CS.Controls.Form.MyTextBoxMultiLine.prototype={domElement:null,get_controlType:function(){return 7;}}
js.com.CS.Controls.Form.MyTextBoxPassword=function(txt){js.com.CS.Controls.Form.MyTextBoxPassword.constructBase(this,[(isNullOrUndefined(txt))?document.createElement('input'):txt,'password']);}
js.com.CS.Controls.Form.MyTextBoxPassword.prototype={get_controlType:function(){return 9;}}
js.com.CS.Controls.Form.MyTextBoxSingleLine=function(txt){js.com.CS.Controls.Form.MyTextBoxSingleLine.constructBase(this,[(isNullOrUndefined(txt))?document.createElement('input'):txt,'text']);}
js.com.CS.Controls.Form.MyTextBoxSingleLine.prototype={get_controlType:function(){return 1;}}
Type.createNamespace('js.com.CS.Controls.Form.Specialized');js.com.CS.Controls.Form.Specialized.MyDropDownListMenu=function(){}
js.com.CS.Controls.Form.Specialized.MyDropDownListMenu.prototype={cmbParent:null,cmbChild:null}
js.com.CS.Controls.Form.Specialized.MyDropDownListMenuListItem=function(txt,value){js.com.CS.Controls.Form.Specialized.MyDropDownListMenuListItem.constructBase(this,[txt,value]);this.$0=new js.com.CS.General.Arrays.MyArray();}
js.com.CS.Controls.Form.Specialized.MyDropDownListMenuListItem.prototype={$0:null,addSubItem:function(txt,value){var $0=new js.com.CS.General.ListItem(txt,value);this.$0.push($0);},addSubItemsToField:function(cmb){cmb.clearItems();for(var $0=0;$0<this.$0.get_length();$0++){var $1=this.$0.get_item($0);cmb.addItem($1.text,$1.value);}}}
Type.createNamespace('js.com.CS.Forms.FileUploader');js.com.CS.Forms.FileUploader.UploadProgress=function(variableName,baseURL,queryStringParameter){if(!String.isNullOrEmpty(variableName)){this.$1=variableName;}if(!String.isNullOrEmpty(baseURL)){this.$2=baseURL;}if(!String.isNullOrEmpty(queryStringParameter)){this.$3=queryStringParameter;}}
js.com.CS.Forms.FileUploader.UploadProgress.get_instance=function(){if(!js.com.CS.Forms.FileUploader.UploadProgress.$0){js.com.CS.Forms.FileUploader.UploadProgress.$0=new js.com.CS.Forms.FileUploader.UploadProgress(null,null,null);}return js.com.CS.Forms.FileUploader.UploadProgress.$0;}
js.com.CS.Forms.FileUploader.UploadProgress.prototype={showProgressBar:false,started:false,checkProgressInterval:1000,$1:'js.com.cs.forms.FileUploader.get_instance()',$2:'/uploadProgress.ashx',$3:'uploadID',$4:'uploadprogressbar_uploadid',functionToCallOnStart:null,$5:null,checkRequirements:function(){return true;},updateFormAction:function(form){var $0=new js.com.CS.Controls.Form.MyTextBoxHidden(this.$4);if($0&&form.formElement.checkIfFormContainsFilledFileUploads()){var $1=form.formElement.get_action();var $2=new RegExp('&?'+this.$3+'=[^&]*');if($1.match($2)&&$1.match($2).length>0){$1=$1.replace($2,'');}var $3='';if($1.indexOf('?')===$1.length-1){$3='';}else{$3='?';if($1.indexOf('?')>-1){$3='&';}}$1+=$3+this.$3+'='+$0.get_text();form.formElement.set_action($1);}},$6:function(){this.updateProgress=Delegate.create(this,this.$7);},$7:function($p0,$p1,$p2,$p3){if(this.showProgressBar){}},updateProgress:null,$8:function(){var $0=new Date();var $1=$0.getTime().toString();var $2=new js.com.CS.Controls.Form.MyTextBoxHidden(this.$4);var $3=this.$2+'?'+this.$3+'='+$2.get_text()+' &ts='+$1;return $3;},$9:function(){var $0=new js.org.Dojo.DojoObjects.__XhrArgs(this.$8(),2);$0.add_onLoad(Delegate.create(this,this.$B));$0.add_onError(Delegate.create(this,this.$A));$0.timeout=15000;dojoClass.xhrGet($0);},$A:function($p0){window.setTimeout(Delegate.create(this,this.$9),this.checkProgressInterval);},$B:function($p0){var $0=$p0;var $1=0;var $2='';var $3=0;var $4=0;if($0.documentElement.attributes.getNamedItem('empty').text==='true'){}else{$1=parseFloat($0.documentElement.attributes.getNamedItem('progress').text);$3=parseFloat($0.documentElement.attributes.getNamedItem('bytes').text);$4=parseFloat($0.documentElement.attributes.getNamedItem('size').text);$2=$0.documentElement.attributes.getNamedItem('file').text;if(this.updateProgress){this.updateProgress.invoke($1,$3,$4,$2);}}if($1<100){window.setTimeout(Delegate.create(this,this.$9),this.checkProgressInterval);}},start:function(){if(this.checkRequirements()){this.started=true;this.$9();if(this.functionToCallOnStart){this.functionToCallOnStart.invoke();}}}}
Type.createNamespace('js.com.CS.Forms.linkedMenu');js.com.CS.Forms.linkedMenu.LinkedMenu=function(root){this.$0=new js.com.CS.General.Arrays.MyArray();this.$1=root;}
js.com.CS.Forms.linkedMenu.LinkedMenu.prototype={$1:null,cssDisabled:null,$2:function($p0){for(var $0=0;$0<$p0.get_length();$0++){var $1=$p0.get_item($0);if(Type.canCast($1,String)){var $2=$1;$1=$($2);if(!$1){alert('com.cs.forms.LinkedMenu: The combo box with id \''+$2+'\' cannot be found in DOM.');}this.$0.push(new js.com.CS.Forms.linkedMenu.LinkedMenuComboBox(new js.com.CS.Controls.Form.MyDropDownList($1),$0,this,'','0'));}}},$3:function(){for(var $0=0;$0<this.$0.get_length();$0++){var $1=this.$0.get_item($0);$1.enable();}},disableOtherLevels:function(levelIndex){for(var $0=levelIndex+1;$0<this.$0.get_length();$0++){var $1=this.$0.get_item($0);$1.disable();}},populateLevel:function(levelIndex,linkedMenuLevels){this.$3();if(levelIndex>=this.$0.get_length()){alert('com.cs.forms.LinkedMenu: Please specify a combo box for level '+(levelIndex+1)+' because at the moment only '+this.$0.get_length()+' level(s) are specified');}var $0=this.$0.get_item(levelIndex);var $1=$0.populate(linkedMenuLevels);if(!$1){this.disableOtherLevels(levelIndex);}},initMenu:function(){this.populateLevel(0,this.$1.children);},addComboBox:function(cmb,disabledText,disabledValue){var $0=new js.com.CS.Forms.linkedMenu.LinkedMenuComboBox(cmb,this.$0.get_length(),this,disabledText,disabledValue);this.$0.push($0);}}
js.com.CS.Forms.linkedMenu.LinkedMenuComboBox=function(cmb,levelIndex,linkedMenu,disabledText,disabledValue){this.linkedMenuLevels=new js.com.CS.General.Arrays.MyArray();this.levelIndex=levelIndex;this.disabledValue=disabledValue;if(String.isNullOrEmpty(this.disabledValue)){this.disabledValue=this.disabledText;}this.cmb=cmb;this.linkedMenu=linkedMenu;this.disabledText=disabledText;this.$1=cmb.get_disabled();this.$6();}
js.com.CS.Forms.linkedMenu.LinkedMenuComboBox.prototype={cmb:null,levelIndex:0,linkedMenu:null,disabledText:null,disabledValue:null,$0:null,$1:false,$2:function($p0){for(var $0=0;$0<this.linkedMenuLevels.get_length();$0++){var $1=this.linkedMenuLevels.get_item($0);if($1.option.value===$p0){return $1;}}return null;},$3:function(){var $0=this.cmb.get_text();if($0===this.$0){return;}this.$0=$0;this.cmb.callChange();var $1=this.$2($0);if($1.children.get_length()>0){this.linkedMenu.populateLevel(this.levelIndex+1,$1.children);}else{this.linkedMenu.disableOtherLevels(this.levelIndex);}},$4:function(){this.cmb.add_onChange(Delegate.create(this,this.$3));this.cmb.add_onKeyUp(Delegate.create(this,this.$3));},$5:function(){this.cmb.clearItems();},$6:function(){this.$5();this.$4();},enable:function(){if(this.$1){return;}this.cmb.enable();this.cmb.get_style().backgroundColor=null;this.cmb.removeClass(this.linkedMenu.cssDisabled);},disable:function(){if(this.$1){return;}this.cmb.disable();this.$5();this.cmb.addItem(this.disabledText,this.disabledValue);this.cmb.addClass(this.linkedMenu.cssDisabled);},populate:function(linkedMenuLevels){this.$5();this.linkedMenuLevels=linkedMenuLevels;var $0=null;var $1=-1;var $2=false;for(var $3=0;$3<linkedMenuLevels.get_length();$3++){var $4=linkedMenuLevels.get_item($3);var $5=$4.option;this.cmb.addItemFromOption($5);if($4.selected&&!$0){$0=$4;$1=$3;}}if(!$0&&linkedMenuLevels.get_length()>0){$0=linkedMenuLevels.get_item(0);$1=0;}if($0.children.get_length()>0){this.$0=$0.option.value;this.linkedMenu.populateLevel(this.levelIndex+1,$0.children);$2=true;}this.cmb.set_selectedIndex($1);return $2;}}
js.com.CS.Forms.linkedMenu.LinkedMenuLevel=function(title,value,selected){this.children=new js.com.CS.General.Arrays.MyArray();this.option=document.createElement('option');this.option.text=title;this.option.value=value;this.selected=selected;}
js.com.CS.Forms.linkedMenu.LinkedMenuLevel.prototype={option:null,selected:false,addSubLevel:function(linkedMenuLevel){this.children.push(linkedMenuLevel);},addSubLevels:function(linkedMenuLevels){for(var $0=0;$0<linkedMenuLevels.get_length();$0++){this.addSubLevel(linkedMenuLevels.get_item($0));}}}
Type.createNamespace('js.com.CS.Forms.Validation');js.com.CS.Forms.Validation.CharsLimit=function(txt,amtLimit,elemDisplayRemaining){js.com.CS.Forms.Validation.CharsLimit.constructBase(this,[txt,amtLimit,elemDisplayRemaining,false]);}
js.com.CS.Forms.Validation.CharsLimit.prototype={$7:null}
js.com.CS.Forms.Validation.WordsOrCharsLimit=function(txt,amtLimit,elemDisplayRemaining,words){if(!(Type.canCast(txt,js.com.CS.Controls.Form.MyTextBox))){txt=js.com.CS.Controls.Form.MyTextBox.getTextBoxFromElement(txt);}this.$0=txt;this.$1=amtLimit;if(Type.canCast(elemDisplayRemaining,js.com.CS.Controls.Common.MyDOMElement)){this.$3=elemDisplayRemaining;}else{this.$3=new js.com.CS.Controls.Common.MyDOMElement(elemDisplayRemaining);}if(isNullOrUndefined(words)){words=true;}this.$2=words;dojoClass.addOnLoad(Delegate.create(this,this.$5));}
js.com.CS.Forms.Validation.WordsOrCharsLimit.prototype={$0:null,$1:0,$2:false,$3:null,$4:function(){if(this.$2){var $0=js.com.CS.Util.StringUtil.getWords(this.$0.get_text());var $1=$0.get_length();var $2=this.$1-$1;if($2<0){var $4=js.com.CS.Util.StringUtil.getWordIndex(this.$0.get_text(),this.$1);this.$0.set_text(this.$0.get_text().substring(0,$4));$2=0;}var $3='<strong>'+$2+'</strong> word';if($2!==1){$3+='s';}$3+=' remaining.';if(!isNullOrUndefined(this.$3)){this.$3.set_innerHTML($3);}if(this.$6){this.$6.invoke($2);}}else{var $5=this.$0.get_text().length;var $6=this.$1-$5;$6=Math.max(0,$6);if(this.$0.get_text().length>this.$1){this.$0.set_text(this.$0.get_text().substring(0,this.$1));}var $7='<strong>'+$6+'</strong> character';if($6!==1){$7+='s';}$7+=' remaining.';if(!isNullOrUndefined(this.$3)){this.$3.set_innerHTML($7);}if(this.$6){this.$6.invoke($6);}}},$5:function(){this.$0.add_onKeyUp(Delegate.create(this,this.$4));this.$0.add_onChange(Delegate.create(this,this.$4));this.$4();},add_onChange:function(value){this.$6=Delegate.combine(this.$6,value);},remove_onChange:function(value){this.$6=Delegate.remove(this.$6,value);},$6:null}
js.com.CS.Forms.Validation.VALIDATION_PARAMETERS=function(){this.valueIn=new js.com.CS.General.Arrays.MyArray();this.valueNotIn=new js.com.CS.General.Arrays.MyArray();}
js.com.CS.Forms.Validation.VALIDATION_PARAMETERS.prototype={isRequired:false,isEmail:false,isNumber:false,positiveOnly:false,negativeOnly:false,integersOnly:false,numFrom:null,numTo:null,dateFrom:null,dateTo:null,isCurrency:false,currencySymbol:'\ufffd',isCreditCardNumber:false,isIPAddress:false,isDate:false,valueCaseSensitive:false,doNotValidateOnBlur:false,dateFormat:'dd/MM/yyyy',minLength:0,maxLength:0,fileExtensionsAllowed:null,maxWords:0,isAlphaNumeric:false,regExpPattern:null}
js.com.CS.Forms.Validation.OUTPUT_ERROR_MSG=function(){}
js.com.CS.Forms.Validation.OUTPUT_ERROR_MSG.prototype={errorMessage:null}
js.com.CS.Forms.Validation.Validation=function(){}
js.com.CS.Forms.Validation.Validation.containCharactersWhichAreNot=function(str,allowedCharsPattern){if(!isNullOrUndefined(allowedCharsPattern)){var $0=new RegExp('[^'+allowedCharsPattern+']*');return $0.test(str);}return true;}
js.com.CS.Forms.Validation.Validation.containOnlyCharacters=function(str,allowedCharsPattern){return !js.com.CS.Forms.Validation.Validation.containCharactersWhichAreNot(str,allowedCharsPattern);}
js.com.CS.Forms.Validation.Validation.isEmail=function(str){var $0=new RegExp('^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}$');var $1=$0.test(str);var $2=new RegExp('\\.\\.');if($1&&$2.test(str)){$1=false;}return $1;}
js.com.CS.Forms.Validation.Validation.isNumber=function(str,parameters,outErrorMsg,itemTitle){var $0=true;if(isNullOrUndefined(itemTitle)){itemTitle='Number';}var $1=new RegExp('^[-+]?[0-9]*$|^[-+]?[0-9]*\\.[0-9]*$');var $2=$1.test(str);if($2){var $3=parseFloat(str);if(!isNullOrUndefined(parameters)&&(!isNullOrUndefined(parameters.numFrom)||!isNullOrUndefined(parameters.numTo))){if(isNullOrUndefined(parameters.numFrom)){parameters.numFrom=Number.NEGATIVE_INFINITY;}if(isNullOrUndefined(parameters.numTo)){parameters.numTo=Number.POSITIVE_INFINITY;}var $4=Math.min(parameters.numFrom,parameters.numTo);var $5=Math.max(parameters.numFrom,parameters.numTo);if($3<$4||$3>$5){if($4===Number.NEGATIVE_INFINITY){if(!isNullOrUndefined(outErrorMsg)){outErrorMsg.errorMessage=itemTitle+' must be smaller than or equal to '+$5;}}else if($5===Number.POSITIVE_INFINITY){if(!isNullOrUndefined(outErrorMsg)){outErrorMsg.errorMessage=itemTitle+' must be greater than or equal to '+$4;}}else{if(!isNullOrUndefined(outErrorMsg)){outErrorMsg.errorMessage=itemTitle+' must be greater than or equal to '+$4+' and smaller than or equal to '+$5;}}return false;}}if($0&&!isNullOrUndefined(parameters)){if(parameters.positiveOnly&&$3<0){if(!isNullOrUndefined(outErrorMsg)){outErrorMsg.errorMessage=itemTitle+' must be positive';}return false;}if(parameters.negativeOnly&&$3>0){if(!isNullOrUndefined(outErrorMsg)){outErrorMsg.errorMessage=itemTitle+' must be negative';}return false;}if(parameters.integersOnly&&parseInt($3)!==$3){if(!isNullOrUndefined(outErrorMsg)){outErrorMsg.errorMessage=itemTitle+' must be a whole number';}return false;}}}else{if(!isNullOrUndefined(outErrorMsg)){outErrorMsg.errorMessage=itemTitle+' - Invalid number';}return false;}return true;}
js.com.CS.Forms.Validation.Validation.isAlphaNumeric=function(str){return js.com.CS.Forms.Validation.Validation.containOnlyCharacters(str,'a-zA-Z0-9_');}
js.com.CS.Forms.Validation.Validation.isCreditCardNumber=function(str){var $0=new RegExp('^[0-9]{15,16}$');return $0.test(str);}
js.com.CS.Forms.Validation.Validation.isDate=function(str,parameters,outErrorMsg,itemTitle){if(!isNullOrUndefined(itemTitle)){itemTitle='Date';}var $0=parameters.dateFormat;if(String.isNullOrEmpty($0)){$0='dd/MM/yyyy';}var $1=new RegExp('[-.]','g');$0=$0.replace($1,'/');var $2={};$2.datePattern=$0;var $3=null;$2.selector=$3;var $4=dojo.date.locale.parse(str,$2);if(isNullOrUndefined($4)){$3='date';$2.selector=$3;$4=dojo.date.locale.parse(str,$2);}if(!isNullOrUndefined($4)){if(!isNullOrUndefined(parameters.dateFrom)&&!isNullOrUndefined(parameters.dateTo)){if(parameters.dateFrom>parameters.dateTo){var $5=parameters.dateFrom;parameters.dateFrom=parameters.dateTo;parameters.dateTo=$5;}if($4<parameters.dateFrom||$4>parameters.dateTo){if(!isNullOrUndefined(outErrorMsg)){outErrorMsg.errorMessage=itemTitle+' must be between or equal to '+dojo.date.locale.format(parameters.dateFrom,$2)+' and '+dojo.date.locale.format(parameters.dateTo,$2);}return false;}}else{if(!isNullOrUndefined(parameters.dateFrom)&&$4<parameters.dateFrom){if(!isNullOrUndefined(outErrorMsg)){outErrorMsg.errorMessage=itemTitle+' must be after or equal to '+dojo.date.locale.format(parameters.dateFrom,$2);}return false;}}}else{if(!isNullOrUndefined(outErrorMsg)){outErrorMsg.errorMessage=itemTitle+' - Invalid Date';}return false;}return true;}
js.com.CS.Forms.Validation.Validation.isValueIn=function(item,values,caseSensitive){if(!caseSensitive){item=item.toLowerCase();}for(var $0=0;$0<values.get_length();$0++){var $1=values.get_item($0).toString();if(!caseSensitive){$1=$1.toLowerCase();}if(item===$1){return true;}}return false;}
js.com.CS.Forms.Validation.Validation.isValueNotIn=function(item,values,caseSensitive){return js.com.CS.Forms.Validation.Validation.isValueIn(item,values,caseSensitive);}
js.com.CS.Forms.Validation.Validation.isIPAddress=function(str){var $0=new RegExp('^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}$');return $0.test(str);}
js.com.CS.Forms.Validation.WordsLimit=function(txt,amtLimit,elemDisplayRemaining){js.com.CS.Forms.Validation.WordsLimit.constructBase(this,[txt,amtLimit,elemDisplayRemaining,true]);}
js.com.CS.Forms.Validation.WordsLimit.prototype={$7:null}
Type.createNamespace('js.com.CS.General.Arrays');js.com.CS.General.Arrays.MyArray=function(array){if(!array){array=[];}this._array=array.clone();}
js.com.CS.General.Arrays.MyArray.prototype={getBaseArray:function(){return this._array;},_array:null,push:function(obj){this._array.push(obj);},pop:function(){this._array.pop();},$0:function($p0){for(var $0=0;$0<$p0.length;$0++){this.push($p0[$0]);}},addRange:function(array){for(var $0=0;$0<array.get_length();$0++){this.push(array.get_item($0));}},$1:function($p0,$p1){var $0=this._array.slice($p0,$p1);return $0;},slice:function(indexFrom,indexTo){var $0=new js.com.CS.General.Arrays.MyArray(this.$1(indexFrom,indexTo));return $0;},$2:function($p0,$p1){var $0=this._array.splice($p0,$p1);return $0;},$3:function($p0,$p1){var $0=this._array.splice($p0,0,$p1);return $0;},insertAt:function(index,obj){this.$3(index,obj);},removeAt:function(index){this.$2(index,1);},clear:function(){while(this.get_length()>0){this.removeAt(0);}},getItem:function(index){return this._array[index];},getLength:function(){return this._array.length;},getEnumerator:function(){return this._array.getEnumerator();},aggregate:function(seedValue,aggregator){return this._array.aggregate(seedValue,aggregator);},clone:function(){var $0=new js.com.CS.General.Arrays.MyArray();$0._array=this._array.clone();return $0;},concat:function(objects){var $0=this.clone();$0._array.concat(objects);return $0;},contains:function(item){return this._array.contains(item);},every:function(itemFilterCallback){return this._array.every(itemFilterCallback);},extract:function(index,count){var $0=new js.com.CS.General.Arrays.MyArray();$0._array=this._array.extract(index,count);return $0;},filter:function(itemFilterCallback){var $0=new js.com.CS.General.Arrays.MyArray();$0._array=this._array.filter(itemFilterCallback);return $0;},forEach:function(itemCallback){this._array.forEach(itemCallback);},indexOf:function(item){return this._array.indexOf(item);},join:function(delimiter){return this._array.join(delimiter);},reverse:function(){this._array.reverse();},some:function(itemFilterCallback){return this._array.some(itemFilterCallback);},sort:function(compareCallback){this._array.sort(compareCallback);},get_length:function(){return this._array.length;},get_item:function(index){return this._array[index];},set_item:function(index,value){this._array[index]=value;return value;}}
js.com.CS.General.Arrays.MyArrayInt=function(array){js.com.CS.General.Arrays.MyArrayInt.constructBase(this,[array]);}
js.com.CS.General.Arrays.MyArrayInt.prototype={push:function(obj){this._array.push(obj);},addRange:function(array){for(var $0=0;$0<array.get_length();$0++){this.push(array.get_item($0));}},getItem:function(index){return this._array[index];},get_item:function(index){return this._array[index];},set_item:function(index,value){this._array[index]=value;return value;}}
js.com.CS.General.Arrays.MyArrayString=function(array){js.com.CS.General.Arrays.MyArrayString.constructBase(this,[array]);}
js.com.CS.General.Arrays.MyArrayString.prototype={push:function(obj){this._array.push(obj);},addRange:function(array){for(var $0=0;$0<array.get_length();$0++){this.push(array.get_item($0));}},getItem:function(index){return this._array[index];},get_item:function(index){return this._array[index];},set_item:function(index,value){this._array[index]=value;return value;}}
Type.createNamespace('js.com.CS.General');js.com.CS.General.GeneralClass=function(){}
js.com.CS.General.GeneralClass.getBody=function(){if(!js.com.CS.General.GeneralClass.$0){js.com.CS.General.GeneralClass.$0=new js.com.CS.Controls.Common.MyDOMElement(document.body);}return js.com.CS.General.GeneralClass.$0;}
js.com.CS.General.GeneralClass.getForms=function(){var $0=document.forms;var $1=new js.com.CS.General.Arrays.MyArray();for(var $2=0;$2<$0.length;$2++){$1.push(new js.com.CS.Controls.Common.MyFormElement($0[$2]));}return $1.getBaseArray();}
js.com.CS.General.ListItem=function(txt,value){this.text=txt;this.value=value;}
js.com.CS.General.ListItem.prototype={text:null,value:null,getOptionElement:function(){var $0=document.createElement('option');$0.text=this.text;$0.value=this.value;return $0;}}
js.com.CS.General.General=function(){}
Type.createNamespace('js.com.CS.UI.Forms');js.com.CS.UI.Forms.Button=function(element,validateFormOnClick,validationGroup,defaultButton,confirmMessage){this.$4=new js.com.CS.General.Arrays.MyArray();if(Type.canCast(element,String)){element=dojoClass.byId(element);}this.validateFormOnClick=validateFormOnClick;this.myButton=new js.com.CS.Controls.Form.MyButton(element);this.validationGroup=validationGroup;this.$0=defaultButton;this.$1=confirmMessage;this.$3();this.$10();}
js.com.CS.UI.Forms.Button.prototype={myButton:null,$0:false,validateFormOnClick:true,validationGroup:null,$1:null,form:null,$2:null,get_id:function(){return this.myButton.get_id();},get_enabled:function(){return !this.myButton.get_disabled();},set_enabled:function(value){this.myButton.set_disabled(!value);this.$B();return value;},get_disabled:function(){return !this.get_enabled();},set_disabled:function(value){this.set_enabled(!value);return value;},toString:function(){return '[com.cs.ui.form.Button]';},isDefaultButton:function(){if(this.$0){return this.$0;}else{if(this.form.getDefaultButton()===this){return true;}}return false;},$3:function(){var $0=this.myButton.get_myDomElement().domElement;var $1=$0.onclick;if(Type.canCast($1,String)){try{var $2=$1;$1=new Function($2);}catch($3){}}this.myButton.get_myDomElement().domElement.onclick = null;this.attachPreValidationHandler($1);},attachPreValidationHandler:function(preValidationHandler){this.$4.insertAt(0+this.$4.get_length()-1,preValidationHandler);},add_postValidation:function(value){this.$5=Delegate.combine(this.$5,value);},remove_postValidation:function(value){this.$5=Delegate.remove(this.$5,value);},$5:null,$6:function(){js.com.CS.UI.Forms.FormsCollection.CLICKED_BUTTON=true;js.com.CS.UI.Forms.FormsCollection.get_instance().currentForm=this.form;},$7:function(){},$8:function(){js.com.CS.UI.Forms.FormsCollection.get_instance().currentForm=this.form;},$9:function(){js.com.CS.UI.Forms.FormsCollection.CLICKED_BUTTON=true;js.com.CS.UI.Forms.FormsCollection.get_instance().currentForm=this.form;if(String.isNullOrEmpty(this.$1)||(!String.isNullOrEmpty(this.$1)&&confirm(this.$1))){var $0=true;if($0){for(var $1=0;$1<this.$4.get_length();$1++){var $2=this.$4.get_item($1);if($2){$0=$2.call(this.myButton.get_myDomElement().domElement);if(isNullOrUndefined($0)){$0=true;}}if(!$0){break;}}}js.com.CS.UI.Forms.FormsCollection.get_instance().currentForm=this.form;if($0){if(this.validateFormOnClick){$0=(!js.com.CS.UI.Forms.FormsCollection.get_instance().validateCurrentForm().length);}}if($0&&this.$5){this.$5.invoke();}}js.com.CS.UI.Forms.FormsCollection.CLICKED_BUTTON=false;},$A:function(){this.myButton.removeClass(js.com.CS.UI.Forms.DefaultCSSClasses.Instance.CLASS_BUTTON_OVER);this.myButton.removeClass(js.com.CS.UI.Forms.DefaultCSSClasses.Instance.CLASS_BUTTON_DISABLED);this.myButton.removeClass(js.com.CS.UI.Forms.DefaultCSSClasses.Instance.CLASS_BUTTON_UP);},$B:function(){if(this.myButton.get_myDomElement().domElement.disabled&&!js.com.CS.UI.Forms.DefaultCSSClasses.Instance.NotUsed&&js.com.CS.UI.Forms.DefaultCSSClasses.Instance.CLASS_BUTTON_DISABLED){this.$A();this.myButton.addClass(js.com.CS.UI.Forms.DefaultCSSClasses.Instance.CLASS_BUTTON_DISABLED);}else{this.$D();}},$C:function(){if(!this.myButton.get_disabled()&&!js.com.CS.UI.Forms.DefaultCSSClasses.Instance.NotUsed&&js.com.CS.UI.Forms.DefaultCSSClasses.Instance.CLASS_BUTTON_OVER){this.$A();this.myButton.addClass(js.com.CS.UI.Forms.DefaultCSSClasses.Instance.CLASS_BUTTON_OVER);var $0=this.myButton.get_myDomElement().domElement.className;$0=this.myButton.get_myDomElement().domElement.className;$0=this.myButton.get_myDomElement().domElement.className;$0=this.myButton.get_myDomElement().domElement.className;}},$D:function(){if(!this.myButton.get_disabled()&&!js.com.CS.UI.Forms.DefaultCSSClasses.Instance.NotUsed&&js.com.CS.UI.Forms.DefaultCSSClasses.Instance.CLASS_BUTTON_UP){this.$A();this.myButton.addClass(js.com.CS.UI.Forms.DefaultCSSClasses.Instance.CLASS_BUTTON_UP);}},$E:function(){this.$2=this.myButton.get_myDomElement().domElement.onclick;this.myButton.add_onMouseDown(Delegate.create(this,this.$6));this.myButton.add_onMouseUp(Delegate.create(this,this.$7));this.myButton.add_onMouseOver(Delegate.create(this,this.$C));this.myButton.add_onMouseOut(Delegate.create(this,this.$D));this.myButton.add_onFocus(Delegate.create(this,this.$8));this.myButton.add_onClick(Delegate.create(this,this.$9));this.$D();},$F:function(){js.com.CS.UI.Forms.FormsCollection.get_instance().addButton(this);},$10:function(){this.$F();this.$E();}}
js.com.CS.UI.Forms.CheckBoxListRequired=function(id,hiddenFieldID){this.$2=[];this.$0=new String();this.$0=id;this.$1=new js.com.CS.Controls.Form.MyTextBoxHidden(hiddenFieldID);dojoClass.addOnLoad(Delegate.create(this,this.$5));}
js.com.CS.UI.Forms.CheckBoxListRequired.prototype={$0:null,$1:null,$2:null,$3:function(){var $0=false;var $1=false;for(var $2=0;$2<this.$2.length;$2++){var $3=this.$2[$2];$0=($0||$3.get_checked());$1=($1||!$3.get_disabled());}if($0||!$1){this.$1.set_text('OK');}else{this.$1.set_text('');}this.$1.set_disabled(!$1);},$4:function(){var $0=0;var $1=null;var $2;do{$2=$(this.$0+'_'+$0);if($2){$1=new js.com.CS.Controls.Form.MyCheckBox($2);this.$2[this.$2.length]=$1;$1.add_onChange(Delegate.create(this,this.$3));$1.add_onMouseUp(Delegate.create(this,this.$3));$1.add_onKeyUp(Delegate.create(this,this.$3));$0++;}}while($2);},$5:function(){this.$4();this.$3();},$6:function(){this.$3();}}
js.com.CS.UI.Forms.DefaultCSSClasses=function(){}
js.com.CS.UI.Forms.DefaultCSSClasses.prototype={CLASS_NOFOCUS:'field-nofocus',CLASS_NOFOCUS_OVER:'field-nofocus-over',CLASS_FOCUS:'field-focus',CLASS_ERROR:'field-error',CLASS_ERROR_OVER:'field-error-over',CLASS_ERROR_FOCUS:'field-errorfocus',CLASS_DISABLED:'field-disabled',CLASS_READONLY:'field-readonly',CLASS_REQUIRED:'required',CLASS_BUTTON_UP:'button',CLASS_BUTTON_OVER:'button_over',CLASS_BUTTON_DISABLED:'button_disabled',NotUsed:false}
js.com.CS.UI.Forms.DojoComboBox=function(elementID){this.$1=js.com.CS.UI.Forms.FormsCollection.get_instance().getFieldByID(elementID);this.$0=dijitClass.byId(elementID);this.$1.add_onFocusChanged(Delegate.create(this,this.$3));}
js.com.CS.UI.Forms.DojoComboBox.prototype={$0:null,$1:null,$2:false,$3:function(){if(this.$1.get_hasFocus()){this.$0.focus();}else{this.$0.blur();}},$4:function(){this.$2=this.$0._isShowingNow||false;this.$1.element.set_valueObject(this.$0.getValue());},$5:function(){if(window.event.keyCode===13){if(!this.$2){this.$1.$6();js.com.CS.UI.Forms.FormsCollection.get_instance().clickCurrentFormDefaultButton();}this.$4();}},get_hasFocus:function(){return this.$1.get_hasFocus();},set_hasFocus:function(value){this.$1.set_hasFocus(value);return value;},$6:function(){this.$0.onKeyPress=Delegate.create(this,this.$5);this.$0.onKeyUp=Delegate.create(this,this.$4);this.$1.element.get_myDomElement().add_onFocus(Delegate.create(this,this.$3));}}
js.com.CS.UI.Forms.Field=function(element,title,validationParams,validationGroup,customCSSClasses,groupParams){this.groups=[];var $0=null;if(Type.canCast(element,String)){$0=element;element=dojoClass.byId(element);}if(!element){js.com.CS.Util.Console.log('js.com.CS.UI.Forms.Field::  Element \''+$0+'\' does not exist');}else{if(!validationParams){validationParams=new js.com.CS.Forms.Validation.VALIDATION_PARAMETERS();}if(!groupParams){groupParams=new js.com.CS.UI.Forms.FIELDGROUP_PARAMETERS();}this.$3=validationParams;this.validationGroup=validationGroup;this.title=title;this.element=js.com.CS.Controls.Form.MyBaseFormElement.getFormElement(element);this.$0=new js.com.CS.UI.Forms.FieldCSSHandler(this,customCSSClasses);this.$4=groupParams;this.$B();}}
js.com.CS.UI.Forms.Field.prototype={element:null,form:null,title:null,requiredGroup:null,requiredGroupOne:null,$0:null,$1:null,$2:null,$3:null,$4:null,validationGroup:null,get_disabled:function(){return this.element.get_disabled();},set_disabled:function(value){this.element.set_disabled(value);if(!value){this.set_hasFocus(false);}this.$0.update();return value;},get_required:function(){return this.$3.isRequired;},set_required:function(value){this.$3.isRequired=value;this.$0.update();return value;},$5:false,get_hasError:function(){return this.$5;},set_hasError:function(value){this.$5=value;this.$0.update();return value;},get_readOnly:function(){return this.element.get_myDomElement().get_readOnly();},set_readOnly:function(value){this.element.get_myDomElement().set_readOnly(value);this.$0.update();return value;},get_valueObject:function(){return this.element.get_valueObject();},set_valueObject:function(value){this.element.set_valueObject(value);return value;},isEmpty:function(){var $0=this.get_valueObject();if(isNullOrUndefined($0)||(Type.canCast($0,String)&&String.isNullOrEmpty($0))||(Type.canCast($0,Boolean)&&!($0))){return true;}return false;},getWords:function(){var $0=this.get_valueObject();var $1=new js.com.CS.General.Arrays.MyArray($0.split(' '));return $1;},get_id:function(){return this.element.get_myDomElement().get_id();},$6:function(){this.set_hasFocus(true);this.$0.update();js.com.CS.UI.Forms.FormsCollection.get_instance().set_fieldWithFocus(this);},$7:function(){this.set_hasFocus(false);this.$0.update();js.com.CS.UI.Forms.FormsCollection.get_instance().set_fieldWithFocus(null);if(!this.$3.doNotValidateOnBlur){this.validate(true);}},$8:function(){this.element.get_myDomElement().add_onFocus(Delegate.create(this,this.$6));this.element.get_myDomElement().add_onBlur(Delegate.create(this,this.$7));},$9:function(){js.com.CS.UI.Forms.FormsCollection.get_instance().addField(this);},$A:function(){if(!isNullOrUndefined(this.$4)){var $0=this.$4.groupID;if(!isNullOrUndefined($0)){var $1=js.com.CS.UI.Forms.FormsCollection.get_instance().getGroupByID($0);if($1&&!(Type.canCast($1,js.com.CS.UI.Forms.FieldGroup))){alert('An item with id\''+$0+'\' exists while it should be a group not a \''+$1+'\'.  Please change group id.');}if(!isNullOrUndefined($1)){$1.addFieldToGroup(this);}else{var $2=[];$2[$2.length]=this.get_id();var $3=new js.com.CS.UI.Forms.FieldGroup($2,this.$4,this.validationGroup,$0);}}}},$B:function(){this.$9();this.$8();this.$2=new js.com.CS.UI.Forms.FieldInputConstraint(this,this.$3);this.$1=new js.com.CS.UI.Forms.FieldValidator(this,this.$3);this.$A();},validate:function(showError){var $0=null;if(!this.element.get_disabled()){$0=this.$1.validate();if(showError&&!isNullOrUndefined($0)){this.set_hasError(true);}else{this.set_hasError(false);}}return $0;},$C:false,get_hasFocus:function(){return this.$C;},set_hasFocus:function(value){var $0=value;if($0&&this.get_disabled()){$0=false;}this.$C=$0;if(this.$D){this.$D.invoke();}return value;},add_onFocusChanged:function(value){this.$D=Delegate.combine(this.$D,value);},remove_onFocusChanged:function(value){this.$D=Delegate.remove(this.$D,value);},$D:null,clear:function(){this.set_valueObject('');},toString:function(){return '[com.cs.ui.form.Field - '+this.get_id()+']';},updateCss:function(){this.$0.update();}}
js.com.CS.UI.Forms.FieldCSSHandler=function(field,customCSSClasses){this.$0=field;if(isNullOrUndefined(customCSSClasses)){customCSSClasses=js.com.CS.UI.Forms.DefaultCSSClasses.Instance;}this.$F(customCSSClasses);this.init();}
js.com.CS.UI.Forms.FieldCSSHandler.prototype={$0:null,$1:null,$2:null,$3:null,$4:null,$5:null,$6:null,$7:null,$8:null,$9:null,$A:false,$B:function(){this.$A=true;this.update();},$C:function(){this.$A=false;this.update();},$D:function(){var $0=this.$0.element.get_myDomElement();if(!String.isNullOrEmpty(this.$1)){$0.removeClass(this.$1);}if(!String.isNullOrEmpty(this.$2)){$0.removeClass(this.$2);}if(!String.isNullOrEmpty(this.$3)){$0.removeClass(this.$3);}if(!String.isNullOrEmpty(this.$4)){$0.removeClass(this.$4);}if(!String.isNullOrEmpty(this.$5)){$0.removeClass(this.$5);}if(!String.isNullOrEmpty(this.$6)){$0.removeClass(this.$6);}if(!String.isNullOrEmpty(this.$7)){$0.removeClass(this.$7);}if(!String.isNullOrEmpty(this.$8)){$0.removeClass(this.$8);}if(!String.isNullOrEmpty(this.$9)){$0.removeClass(this.$9);}},$E:function($p0){if(!String.isNullOrEmpty($p0)){this.$D();this.$0.element.get_myDomElement().addClass($p0);}},update:function(){if(!this.$0.element.get_controlType()||this.$0.element.get_controlType()===2){return;}if(!this.$0.get_disabled()&&!this.$0.get_readOnly()){if(!this.$0.get_hasFocus()){if(this.$0.get_hasError()){if(!this.$A){this.$E(this.$4);}else{this.$E(this.$5);}}else{if(!this.$A){this.$E(this.$1);}else{this.$E(this.$2);}}}else{if(this.$0.get_hasError()){this.$E(this.$6);}else{this.$E(this.$3);}}}else{if(this.$0.get_disabled()){this.$E(this.$7);}else if(this.$0.get_readOnly()){this.$E(this.$8);}}if(this.$0.get_required()){this.$0.element.get_myDomElement().addClass(this.$9);}},init:function(){this.$0.element.get_myDomElement().add_onMouseOver(Delegate.create(this,this.$B));this.$0.element.get_myDomElement().add_onMouseOut(Delegate.create(this,this.$C));this.update();},$F:function($p0){if(!$p0.NotUsed){this.$1=((!$p0.NotUsed&&!String.isNullOrEmpty($p0.CLASS_NOFOCUS))?$p0.CLASS_NOFOCUS:((!js.com.CS.UI.Forms.DefaultCSSClasses.Instance.NotUsed)?js.com.CS.UI.Forms.DefaultCSSClasses.Instance.CLASS_NOFOCUS:''));this.$2=((!$p0.NotUsed&&!String.isNullOrEmpty($p0.CLASS_NOFOCUS_OVER))?$p0.CLASS_NOFOCUS_OVER:((!js.com.CS.UI.Forms.DefaultCSSClasses.Instance.NotUsed)?js.com.CS.UI.Forms.DefaultCSSClasses.Instance.CLASS_NOFOCUS_OVER:''));this.$3=((!$p0.NotUsed&&!String.isNullOrEmpty($p0.CLASS_FOCUS))?$p0.CLASS_FOCUS:((!js.com.CS.UI.Forms.DefaultCSSClasses.Instance.NotUsed)?js.com.CS.UI.Forms.DefaultCSSClasses.Instance.CLASS_FOCUS:''));this.$4=((!$p0.NotUsed&&!String.isNullOrEmpty($p0.CLASS_ERROR))?$p0.CLASS_ERROR:((!js.com.CS.UI.Forms.DefaultCSSClasses.Instance.NotUsed)?js.com.CS.UI.Forms.DefaultCSSClasses.Instance.CLASS_ERROR:''));this.$5=((!$p0.NotUsed&&!String.isNullOrEmpty($p0.CLASS_ERROR_OVER))?$p0.CLASS_ERROR_OVER:((!js.com.CS.UI.Forms.DefaultCSSClasses.Instance.NotUsed)?js.com.CS.UI.Forms.DefaultCSSClasses.Instance.CLASS_ERROR_OVER:''));this.$6=((!$p0.NotUsed&&!String.isNullOrEmpty($p0.CLASS_ERROR_FOCUS))?$p0.CLASS_ERROR_FOCUS:((!js.com.CS.UI.Forms.DefaultCSSClasses.Instance.NotUsed)?js.com.CS.UI.Forms.DefaultCSSClasses.Instance.CLASS_ERROR_FOCUS:''));this.$7=((!$p0.NotUsed&&!String.isNullOrEmpty($p0.CLASS_DISABLED))?$p0.CLASS_DISABLED:((!js.com.CS.UI.Forms.DefaultCSSClasses.Instance.NotUsed)?js.com.CS.UI.Forms.DefaultCSSClasses.Instance.CLASS_DISABLED:''));this.$8=((!$p0.NotUsed&&!String.isNullOrEmpty($p0.CLASS_READONLY))?$p0.CLASS_READONLY:((!js.com.CS.UI.Forms.DefaultCSSClasses.Instance.NotUsed)?js.com.CS.UI.Forms.DefaultCSSClasses.Instance.CLASS_READONLY:''));this.$9=((!$p0.NotUsed&&!String.isNullOrEmpty($p0.CLASS_REQUIRED))?$p0.CLASS_REQUIRED:((!js.com.CS.UI.Forms.DefaultCSSClasses.Instance.NotUsed)?js.com.CS.UI.Forms.DefaultCSSClasses.Instance.CLASS_REQUIRED:''));}}}
js.com.CS.UI.Forms.FIELDGROUP_PARAMETERS=function(){}
js.com.CS.UI.Forms.FIELDGROUP_PARAMETERS.prototype={atLeastOneIsRequired:false,sameValues:false,groupID:null}
js.com.CS.UI.Forms.FieldGroup=function(fieldIDs,groupParams,validationGroup,groupID){this.id=groupID;this.$0=groupParams;this.$3=[];this.$2=fieldIDs;this.validationGroup=validationGroup;this.$6();}
js.com.CS.UI.Forms.FieldGroup.prototype={id:null,$0:null,validationGroup:null,$1:null,hasError:false,form:null,$2:null,$3:null,$4:function(){js.com.CS.UI.Forms.FormsCollection.get_instance().addGroup(this);},$5:function(){for(var $0=0;$0<this.$2.length;$0++){this.addFieldToGroup(this.$2[$0]);}},$6:function(){this.$5();this.$4();},validate:function(showError,focusOnFirstErrorField){var $0=new js.com.CS.General.Arrays.MyArray();var $1=false;var $2=true;var $3=null;var $4=(!this.$0.sameValues&&!this.$0.atLeastOneIsRequired);var $5=null;var $6='';for(var $7=0;$7<this.$3.length;$7++){var $8=this.$3[$7];if($7>0){if($7===this.$3.length-1){$6+=' & ';}else{$6+=', ';}}if(!$1&&!$8.isEmpty()){$1=true;}$6+=$8.title;}if($1||this.$0.atLeastOneIsRequired){var $9=true;for(var $A=0;$A<this.$3.length;$A++){var $B=this.$3[$A];if(!$1&&this.$0.atLeastOneIsRequired){if(!$5){$5=$B;}$B.set_hasError(true);if(!$A){$0.push(new js.com.CS.UI.Forms.FormError(this,$6+' - At least one of the fields must be filled'));}}else if($B.get_required()&&$B.isEmpty()){if(!$5){$5=$B;}$0.push(new js.com.CS.UI.Forms.FormError($B,$B.title+' is required'));$B.set_hasError(true);}if(this.$0.sameValues){var $C=$B.get_valueObject();if(!$3){$3=$C;}else{if($3!==$C){if($9){$9=false;$0.push(new js.com.CS.UI.Forms.FormError(this,$6+' - Value does not match'));}$B.set_hasError(true);}}}}}if(focusOnFirstErrorField&&$5){$5.set_hasFocus(true);}return $0.getBaseArray();},addFieldToGroup:function(fieldID){if(!(Type.canCast(fieldID,String))){if(Type.canCast(fieldID,js.com.CS.UI.Forms.Field)){fieldID=(fieldID).get_id();}else{fieldID=(fieldID).id;}}var $0=js.com.CS.UI.Forms.FormsCollection.get_instance().getFieldByID(fieldID);if(!$0){throw new Error('Field with id \''+fieldID+'\' not found');}this.$3[this.$3.length]=$0;$0.groups[$0.groups.length]=this;},toString:function(){return '[com.cs.ui.form.FieldGroup - '+this.id+' ('+this.$3.length+' fields)]';}}
js.com.CS.UI.Forms.FieldInputConstraint=function(field,validationParams){this.$1=validationParams;this.$0=field;this.$C();}
js.com.CS.UI.Forms.FieldInputConstraint.prototype={$0:null,$1:null,$2:null,$3:null,$4:null,$5:5,$6:0,$7:function(){if(this.$1.isDate){var $0=this.$0.get_valueObject();$0=$0.replace(new RegExp('[-.]','g'),'/');this.$0.set_valueObject($0);}},$8:function(){var $0=null;var $1=null;if(this.$1.isEmail){$0='a-zA-Z0-9@._%+-';$1='^[a-zA-Z0-9._%+-]*$';$1+='|^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]*$';}else if(this.$1.isNumber){$0='0-9';$1='^[-+0-9][0-9.]*$';if(!this.$1.integersOnly){$0+='.';}if(!this.$1.negativeOnly){$0+='+';}else{$1='^[-0-9][0-9.]*';}if(!this.$1.positiveOnly){$0+='-';}else{$1='^[+0-9][0-9.]*';}}else if(this.$1.isCurrency){}else if(this.$1.isCreditCardNumber){$0='0-9';$1='^[0-9]{0,16}$';}else if(this.$1.isIPAddress){$0='0-9.';$1='^[0-9]{0,3}$';$1+='|^[0-9]{0,3}\\.[0-9]{0,3}$';$1+='|^[0-9]{0,3}\\.[0-9]{0,3}\\.[0-9]{0,3}$';$1+='|^[0-9]{0,3}\\.[0-9]{0,3}\\.[0-9]{0,3}\\.[0-9]{0,3}$';}else if(this.$1.isDate){$0='0-9/ :.amAMPMpm-';$1='^[0-9]{0,2}$';$1+='|^[0-9]{0,2}[/.-][0-9]{0,2}$';$1+='|^[0-9]{0,2}[/.-][0-9]{0,2}[/.-][0-9]{0,4}$';$1+='|^[0-9]{0,2}[/.-][0-9]{0,2}[/.-][0-9]{0,4} [0-9]{0,2}$';$1+='|^[0-9]{0,2}[/.-][0-9]{0,2}[/.-][0-9]{0,4} [0-9]{0,2}[:][0-9]{0,2}$';$1+='|^[0-9]{0,2}[/.-][0-9]{0,2}[/.-][0-9]{0,4} [0-9]{0,2}[:][0-9]{0,2} ?(a|m|p|A|M|P|am|pm|AM|PM)?$';$1+='|^[0-9]{0,2}[/.-][0-9]{0,2}[/.-][0-9]{0,4} [0-9]{0,2}[:][0-9]{0,2}[:][0-9]{0,2}$';$1+='|^[0-9]{0,2}[/.-][0-9]{0,2}[/.-][0-9]{0,4} [0-9]{0,2}[:][0-9]{0,2}[:][0-9]{0,2} ?(a|m|p|A|M|P|am|pm|AM|PM)?$';}else if(this.$1.isAlphaNumeric){$0='a-zA-Z0-9_';}if(!String.isNullOrEmpty($0)){this.$3=new RegExp('[^'+$0+']+');}if(!String.isNullOrEmpty($1)){this.$4=new RegExp($1);}},$9:function($p0,$p1){var $0='The character you are trying to input in this field is not allowed.\r\n\r\n';if(this.$1.isEmail){$0+='Please enter a valid email address in this field, e.g. yourname@yourdomain.com.';}else if(this.$1.isNumber){if(this.$1.positiveOnly){$0+='Please enter only valid positive ';if(this.$1.integersOnly){$0+='whole ';}$0+='numbers.';}else{if(this.$1.negativeOnly){$0+='Please enter only valid negative ';if(this.$1.integersOnly){$0+='whole ';}$0+='numbers.';}else{$0+='Please enter a number.';}}}else if(this.$1.isDate){$0+='Please enter a valid date in this field, e.g. 16/04/2008 03:32.';}else if(this.$1.isAlphaNumeric){$0+='Please enter only alpha numerical characters in this field.';}else if(this.$1.isIPAddress){$0+='Please enter a valid IP address in this field, e.g. 192.168.2.10';}else if(this.$1.isCreditCardNumber){$0+='Please enter a valid credit card number, e.g. 4552 7204 1234 5678';}alert($0);},$A:function(){var $0=this.$0.get_valueObject();if(!String.isNullOrEmpty($0)){var $1=false;var $2=true;if(!isNullOrUndefined(this.$3)){$1=this.$3.test($0);}if(!isNullOrUndefined(this.$4)){$2=this.$4.test($0);}var $3=!$1&&$2;var $4=false;var $5=false;if(this.$1.maxLength>0){$4=$0.length>this.$1.maxLength;}if(this.$1.maxWords>0){$5=this.$0.getWords().get_length()>this.$1.maxWords;}if(!$3||$4||$5){this.$0.set_valueObject(this.$2);if(!$3){this.$6++;if(this.$6===this.$5){this.$6=0;this.$9($4,$5);}}else if($4){alert('You cannot enter more than '+this.$1.maxLength+' character'+((this.$1.maxLength===1)?'':'s')+' in this field.');}else if($5){alert('You cannot enter more than '+this.$1.maxWords+' word'+((this.$1.maxLength===1)?'':'s')+' in this field.');}}else{this.$2=$0;}}},$B:function(){if(this.$0.element.get_controlType()&&this.$0.element.get_controlType()!==2){this.$0.element.get_myDomElement().add_onKeyUp(Delegate.create(this,this.$A));this.$A();this.$0.element.get_myDomElement().add_onBlur(Delegate.create(this,this.$7));this.$7();}},$C:function(){this.$8();this.$B();}}
js.com.CS.UI.Forms.FieldValidator=function(field,validationParams){this.$0=field;this.$1=validationParams;}
js.com.CS.UI.Forms.FieldValidator.prototype={$0:null,$1:null,validate:function(){var $0=this.$0.title;if(this.$1.isRequired&&this.$0.isEmpty()){return $0+' is required';}if(!this.$0.isEmpty()){if(this.$0.element.get_controlType()&&this.$0.element.get_controlType()!==2){var $1=this.$0.get_valueObject();var $2=new js.com.CS.Forms.Validation.OUTPUT_ERROR_MSG();if(this.$1.isEmail){if(!js.com.CS.Forms.Validation.Validation.isEmail($1)){return $0+' must be a valid email address';}}else{if(this.$1.isNumber){if(!js.com.CS.Forms.Validation.Validation.isNumber($1,this.$1,$2,$0)){return $2.errorMessage;}}else{if(this.$1.isAlphaNumeric){if(!js.com.CS.Forms.Validation.Validation.isAlphaNumeric($1)){return $0+' must contain only alpha numerical characters i.e. letters, digits and underscore (_)';}}else{if(this.$1.isDate){if(!js.com.CS.Forms.Validation.Validation.isDate($1,this.$1,$2,$0)){return $2.errorMessage;}}else{if(this.$1.isIPAddress){if(!js.com.CS.Forms.Validation.Validation.isIPAddress($1)){return $0+' must be a valid IP address, e.g. 192.168.210.123';}}else{if(this.$1.isCreditCardNumber){if(js.com.CS.Forms.Validation.Validation.isCreditCardNumber($1)){return $0+' must be a valid credit card number';}}}}}}}if(this.$1.minLength>0||this.$1.maxLength>0||this.$1.maxWords>0){if(this.$1.minLength>0&&$1.length<this.$1.minLength){return $0+' cannot contain less than '+this.$1.minLength+' character'+((this.$1.minLength>1)?'s':'');}if(this.$1.maxLength>0&&$1.length>this.$1.maxLength){return $0+' cannot contain more than '+this.$1.maxLength+' character'+((this.$1.maxLength>1)?'s':'');}if(this.$1.maxWords>0&&this.$0.getWords().get_length()>this.$1.maxWords){return $0+' cannot contain more than '+this.$1.maxWords+' word'+((this.$1.maxWords>1)?'s':'');}}if(!isNullOrUndefined(this.$1.fileExtensionsAllowed)){var $3=this.$1.fileExtensionsAllowed;for(var $8=0;$8<$3.length;$8++){$3[$8]=$3[$8].replace(new RegExp('[; |:-]','g'),',');$3[$8]=$3[$8].replace(new RegExp('\\.','g'),'');}var $4=$3;var $5=false;var $6='';var $7=false;for(var $9=0;$9<$4.length;$9++){var $A=dojoClass.trim($4[$9]);if(!isNullOrUndefined($A)){$A='.'+$A;var $B=$1.indexOf($A);if($B!==-1&&$B===($1.length-$A.length)){$5=true;break;}if(String.isNullOrEmpty($6)){$6+=', ';$7=true;}$6+=$A;}}if(!$5){if($7){return $0+' must be a file with one of the following extensions: '+$6;}else{return $0+' must be a file with a '+$6+' file extension';}}}if(this.$1.valueIn&&this.$1.valueIn.get_length()>0){var $C=js.com.CS.Forms.Validation.Validation.isValueIn($1,this.$1.valueIn,this.$1.valueCaseSensitive);if(!$C){var $D=this.$1.valueIn.join(', ');var $E=$0+' must be ';if(this.$1.valueIn.get_length()>1){$E+='one of: '+$D;}else{$E+=$D;}if(this.$1.valueCaseSensitive){$E+=' (case-sensitive)';}return $E;}}if(!isNullOrUndefined(this.$1.regExpPattern)){var $F=this.$1.regExpPattern;if(!this.$1.regExpPattern.test($1)){return $0+' - Invalid value';}}}}return null;}}
js.com.CS.UI.Forms.Form=function(validationGroup){this.fields=[];this.buttons=[];this.groups=[];this.validationGroup=validationGroup;this.init();}
js.com.CS.UI.Forms.Form.prototype={validationGroup:null,fields:null,buttons:null,groups:null,onPreValidation:null,onPostValidation:null,onSubmit:null,formElement:null,$0:function(){return true;},init:function(){},submit:function(clickDefaultButton,doNotTriggerSubmitEvent){if((isNullOrUndefined(this.onPreValidation)&&(isNullOrUndefined(js.com.CS.UI.Forms.FormsCollection.get_instance().onPreValidation)||(js.com.CS.UI.Forms.FormsCollection.get_instance().onPreValidation.invoke(this))))||(!isNullOrUndefined(this.onPreValidation)&&this.onPreValidation.invoke(this))){if(!this.validate().length){if((isNullOrUndefined(this.onPostValidation)&&(isNullOrUndefined(js.com.CS.UI.Forms.FormsCollection.get_instance().onPostValidation)||js.com.CS.UI.Forms.FormsCollection.get_instance().onPostValidation.invoke(this)))||(!isNullOrUndefined(this.onPostValidation)&&this.onPostValidation.invoke(this))){if(!doNotTriggerSubmitEvent){this.onSubmit.invoke();js.com.CS.UI.Forms.FormsCollection.get_instance().onSubmit.invoke(this);}var $0=this.getDefaultButton();if(clickDefaultButton){$0.myButton.performClick();}return true;}}}return false;},validate:function(){var $0=new js.com.CS.General.Arrays.MyArray();var $1='';var $2=null;for(var $3=0;$3<this.fields.length;$3++){var $4=this.fields[$3];$4.set_hasError(false);if($4.groups.length>0&&$4.isEmpty()){continue;}var $5=$4.validate(true);if(!String.isNullOrEmpty($5)){var $6=new js.com.CS.UI.Forms.FormError($4,$5);$0.push($6);if(!String.isNullOrEmpty($1)){$1+='\r\n';}$1+=$6.errorMsg;if(!$2){$2=$4;}}}for(var $7=0;$7<this.groups.length;$7++){var $8=this.groups[$7];var $9=$8.validate(true,(!$2));if($9.length>0){for(var $A=0;$A<$9.length;$A++){var $B=$9[$A];$0.push($B);if(!String.isNullOrEmpty($1)){$1+='\r\n';}$1+=$B.errorMsg;}}}if(!String.isNullOrEmpty($1)){alert($1);}if($2){$2.element.focus();}return $0.getBaseArray();},addField:function(field){if(!this.formElement){this.formElement=new js.com.CS.Controls.Common.MyFormElement(field.element.get_myDomElement().get_form());}field.form=this;this.fields[this.fields.length]=field;},addGroup:function(group){group.form=this;this.groups[this.groups.length]=group;},addButton:function(button){if(!this.formElement){this.formElement=new js.com.CS.Controls.Common.MyFormElement(button.myButton.get_myDomElement().get_form());}button.form=this;this.buttons[this.buttons.length]=button;},getDefaultButton:function(){var $0=null;if(this.buttons.length>0){$0=this.buttons[0];for(var $1=0;$1<this.buttons.length;$1++){var $2=this.buttons[$1];if($2.isDefaultButton()){$0=$2;break;}}}return $0;},toString:function(){return '[com.cs.ui.form.Form - '+this.validationGroup+']';}}
js.com.CS.UI.Forms.FormError=function(field,errorMsg){this.item=field;this.errorMsg=errorMsg;}
js.com.CS.UI.Forms.FormError.prototype={item:null,errorMsg:null,init:function(){},toString:function(){return '[com.cs.ui.form.FieldError] - '+this.errorMsg;}}
js.com.CS.UI.Forms.FormsCollection=function(){this.onPostValidation=Delegate.create(this,this.$5);this.onPreValidation=Delegate.create(this,this.$5);this.$1={};this.$2={};}
js.com.CS.UI.Forms.FormsCollection.get_instance=function(){if(!js.com.CS.UI.Forms.FormsCollection.$0){js.com.CS.UI.Forms.FormsCollection.$0=new js.com.CS.UI.Forms.FormsCollection();}return js.com.CS.UI.Forms.FormsCollection.$0;}
js.com.CS.UI.Forms.FormsCollection.submitCurrentForm=function(){js.com.CS.UI.Forms.FormsCollection.get_instance().currentForm.submit(false,false);}
js.com.CS.UI.Forms.FormsCollection.ASPNetWebFormOnSubmit=function(){if(!js.com.CS.UI.Forms.FormsCollection.CLICKED_BUTTON){js.com.CS.UI.Forms.FormsCollection.get_instance().clickCurrentFormDefaultButton();return false;}var $0=js.com.CS.UI.Forms.FormsCollection.get_instance().validateCurrentForm();var $1=(!$0.length);js.com.CS.UI.Forms.FormsCollection.CLICKED_BUTTON=false;return $1;}
js.com.CS.UI.Forms.FormsCollection.prototype={$1:null,$2:null,$3:false,keyEnterEnabled:true,$4:null,currentForm:null,onPreValidation:null,onPostValidation:null,onSubmit:null,$5:function($p0){return true;},$6:function(){if(this.keyEnterEnabled){this.clickCurrentFormDefaultButton();}},$7:function(){if(window.event.keyCode===13){if(this.get_fieldWithFocus()&&this.get_fieldWithFocus().element.get_myDomElement().domElement.tagName.toLowerCase()!=='textarea'){this.$6();}}},$8:function($p0){if($p0){if(!this.$3){js.com.CS.General.GeneralClass.getBody().add_onKeyUp(Delegate.create(this,this.$7));this.$3=true;}}else{if(this.$3){js.com.CS.General.GeneralClass.getBody().remove_onKeyUp(Delegate.create(this,this.$7));this.$3=false;}}},$9:function($p0){if(isNullOrUndefined($p0)){$p0='__MAIN';}var $0=this.$1[$p0];if(isNullOrUndefined($0)){$0=new js.com.CS.UI.Forms.Form($p0);this.$1[$p0]=$0;}return $0;},addField:function(field){var $0=field.validationGroup;var $1=this.$9($0);var $2=field.get_id();this.$2[$2]=field;$1.addField(field);},addGroup:function(group){var $0=group.id;var $1=group.validationGroup;var $2=this.$9($1);this.$2[$0]=group;$2.addGroup(group);},addButton:function(button){var $0=button.get_id();var $1=button.validationGroup;var $2=this.$9($1);this.$2[$0]=button;$2.addButton(button);},get_fieldWithFocus:function(){return this.$4;},set_fieldWithFocus:function(value){this.$4=value;this.$8(this.$4);if(!this.$4){}else{this.currentForm=this.$4.form;}return value;},$A:false,$B:function(){this.keyEnterEnabled=this.$A;js.com.CS.UI.Forms.FormsCollection.CLICKED_BUTTON=false;},clickCurrentFormDefaultButton:function(){js.com.CS.UI.Forms.FormsCollection.CLICKED_BUTTON=true;var $0=this.currentForm;if($0){this.$A=this.keyEnterEnabled;this.keyEnterEnabled=false;var $1=$0.getDefaultButton();if($1){$1.myButton.performClick();}else{alert('No default button specified for group: '+this.currentForm.validationGroup+'.\n\nPlease specify one or else remove Validation Group');}}js.com.CS.UI.Forms.FormsCollection.CLICKED_BUTTON=false;},validateCurrentForm:function(){var $0=this.currentForm;js.com.CS.Forms.FileUploader.UploadProgress.get_instance().updateFormAction($0);if($0){var $1=$0.validate();if(!$1||!$1.length){if(js.com.CS.Forms.FileUploader.UploadProgress.get_instance()){if(js.com.CS.UI.Forms.FormsCollection.HasFileUpload){js.com.CS.Forms.FileUploader.UploadProgress.get_instance().start();}}}return $1;}else{return [];}},$C:function(){},getGroupByID:function(id){return this.$2[id];},getFieldByID:function(id){return this.$2[id];},getButtonByID:function(id){return this.$2[id];},getFormByID:function(id){return this.$1[id];},clearForm:function(formValidationGroupID){this.$1[formValidationGroupID]=null;},toString:function(){return 'FormsCollection';}}
Type.createNamespace('js.com.CS.UI');js.com.CS.UI.Image=function(element){if(Type.canCast(element,js.com.CS.Controls.Common.MyImageElement)){this.$2=element;}else{this.$2=new js.com.CS.Controls.Common.MyImageElement(element);}this.ImageNormal=this.$2.get_src();dojoClass.addOnLoad(Delegate.create(this,this.$8));}
js.com.CS.UI.Image.prototype={ImageNormal:null,ImageRollover:null,$0:null,$1:null,$2:null,SetOnClick_ClickButton:function(id){var $0=new js.com.CS.Controls.Form.MyButton();if(Type.canCast(id,String)){var $1=dojoClass.byId(id);if($1){this.$0=new js.com.CS.Controls.Form.MyButton($1);}}else{this.$0=id;}},$3:function(){if(this.$0){this.$0.focus();this.$0.performClick();}},$4:function(){if(!String.isNullOrEmpty(this.ImageRollover)){this.$2.set_src(this.ImageRollover);}},$5:function(){if(!String.isNullOrEmpty(this.ImageNormal)){this.$2.set_src(this.ImageNormal);}},$6:function(){this.$1=null;},$7:function(){if(!this.$1){this.$1=new js.com.CS.Controls.Common.MyImageElement();this.$1.add_onLoad(Delegate.create(this,this.$6));}this.$1.set_src(this.ImageRollover);},$8:function(){if(!isNullOrUndefined(this.ImageRollover)){this.$7();}if(this.$2){this.$2.add_onClick(Delegate.create(this,this.$3));this.$2.add_onMouseOver(Delegate.create(this,this.$4));this.$2.add_onMouseOut(Delegate.create(this,this.$5));}},changeImage:function(imgNormal,imgRollover){this.ImageNormal=imgNormal;this.ImageRollover=imgRollover;this.$7();this.$2.set_src(this.ImageNormal);}}
Type.createNamespace('js.com.CS.Util');js.com.CS.Util.ArrayUtil=function(){}
js.com.CS.Util.ArrayUtil.$0=function($p0,$p1){var $0=Math.random();return ($0<0.5)?-1:1;}
js.com.CS.Util.ArrayUtil.clone=function(a){var $0=[];for(var $1=0;$1<a.length;$1++){$0.push(a[$1]);}return $0;}
js.com.CS.Util.ArrayUtil.randomizeArray=function(a){if(a.length<=1){return a;}var $0=a[a.length-1];var $1=js.com.CS.Util.ArrayUtil.clone(a);$1.sort(Delegate.create(null,js.com.CS.Util.ArrayUtil.$0));if($1[0]===$0){return js.com.CS.Util.ArrayUtil.randomizeArray($1);}else{return $1;}}
js.com.CS.Util.Console=function(){}
js.com.CS.Util.Console.log=function(msg){var $0=console;$0.log(msg);}
js.com.CS.Util.WindowUtil=function(){}
js.com.CS.Util.WindowUtil.add_onScroll=function(value){window.attachEvent('onscroll',value);}
js.com.CS.Util.WindowUtil.remove_onScroll=function(value){window.detachEvent('onscroll',value);}
js.com.CS.Util.WindowUtil.add_onResize=function(value){window.attachEvent('onresize',value);}
js.com.CS.Util.WindowUtil.remove_onResize=function(value){window.detachEvent('onresize',value);}
js.com.CS.Util.GeneralUtil=function(){}
js.com.CS.Util.GeneralUtil.getChildControls=function(elem){if(Type.canCast(elem,Object)){elem=new js.com.CS.Controls.Common.MyDOMElement(elem);}var $0=new js.com.CS.General.Arrays.MyArray();var $1=elem;$0.push($1);for(var $2=0;$2<elem.domElement.children.length;$2++){var $3=js.com.CS.Util.GeneralUtil.getChildControls(elem.domElement.children[$2]);for(var $4=0;$4<$3.length;$4++){$0.push($3[$4]);}}return $0.getBaseArray();}
js.com.CS.Util.GeneralUtil.getViewPort=function(){var $0=0;var $1=0;var $2=document.documentElement;var $3=$2.clientWidth;var $4=$2.clientHeight;if(dojoClass.isMozilla>0){var $7,$8,$9,$A;var $B=document.body.clientWidth;if($B>$3){$7=$3;$9=$B;}else{$9=$3;$7=$B;}var $C=document.body.clientHeight;if($C>$4){$8=$4;$A=$C;}else{$A=$4;$8=$C;}$0=($9>window.innerWidth)?$7:$9;$1=($A>window.innerHeight)?$8:$A;}else if(!dojoClass.isOpera&&((window.innerWidth))){$0=window.innerWidth;$1=window.innerHeight;}else if(dojoClass.isIE>0&&$2&&$4){$0=$3;$1=$4;}else if(dojo.body().clientWidth){$0=dojo.body().clientWidth;$1=dojo.body().clientHeight;}var $5=dojo._docScroll();var $6=new js.org.Dojo.DojoObjects._Box();$6.w=$0;$6.h=$1;$6.l=$5['x'];$6.t=$5['y'];return $6;}
js.com.CS.Util.GeneralUtil.marginBoxH=function(node){if(isNullOrUndefined(node)){throw new Error('Please specify \'node\' in marginBoxH');}var $0=dojoClass.marginBox(node);return $0.h;}
js.com.CS.Util.GeneralUtil.marginBoxW=function(node){if(isNullOrUndefined(node)){throw new Error('Please specify \'node\' in marginBoxW');}var $0=dojoClass.marginBox(node);return $0.w;}
js.com.CS.Util.GeneralUtil.compareDelegate=function(delegateA,delegateB){var $0=delegateA._targets;var $1=delegateB._targets;return $0[0]===$1[0]&&$0[1]===$1[1];}
js.com.CS.Util.GeneralUtil.getActualDelegate=function(delegateFn){var $0=delegateFn._targets;return $0[1];}
js.com.CS.Util.RandomUtil=function(){}
js.com.CS.Util.RandomUtil.getRandomBool=function(){return js.com.CS.Util.RandomUtil.getRandomNumber()<0.5;}
js.com.CS.Util.RandomUtil.getRandomNumber=function(){return Math.random();}
js.com.CS.Util.RandomUtil.getRandomInteger=function(from,to){return parseInt(((to-from)*js.com.CS.Util.RandomUtil.getRandomNumber()))+from;}
js.com.CS.Util.StringUtil=function(){}
js.com.CS.Util.StringUtil.countWords=function(s){return js.com.CS.Util.StringUtil.getWords(s).get_length();}
js.com.CS.Util.StringUtil.getWords=function(s){var $0=s;var $1=new RegExp('\\s','g');var $2=($0.replace($1,' ')).split(' ');var $3=new js.com.CS.General.Arrays.MyArray();for(var $4=0;$4<$2.length;$4++){if($2[$4].length>0){$3.push($2[$4]);}}return $3;}
js.com.CS.Util.StringUtil.getWordIndex=function(str,wordIndex){var $0=0;var $1=true;for(var $2=0;$2<str.length;$2++){var $3=str.charAt($2);if($3===' '||$3==='\r'||$3==='\n'||$3==='\t'){$1=true;}else{if($1){$1=false;if($0===wordIndex){return $2;}$0++;}}}return -1;}
js.com.CS.AJAX.AJAX.createClass('js.com.CS.AJAX.AJAX');js.com.CS.Controls.Common.LoadingCtrl.createClass('js.com.CS.Controls.Common.LoadingCtrl');js.com.CS.Controls.Common.MyDOMElement.createClass('js.com.CS.Controls.Common.MyDOMElement',null,js.com.CS.Controls.Common.IMyDOMElement);js.com.CS.Controls.Common.MyAnchorElement.createClass('js.com.CS.Controls.Common.MyAnchorElement',js.com.CS.Controls.Common.MyDOMElement);js.com.CS.Controls.Common.MyDivElement.createClass('js.com.CS.Controls.Common.MyDivElement',js.com.CS.Controls.Common.MyDOMElement);js.com.CS.Controls.Common.MyFormElement.createClass('js.com.CS.Controls.Common.MyFormElement',js.com.CS.Controls.Common.MyDOMElement,js.com.CS.Controls.Common.IMyDOMElement);js.com.CS.Controls.Common.MyImageElement.createClass('js.com.CS.Controls.Common.MyImageElement',js.com.CS.Controls.Common.MyDOMElement);js.com.CS.Controls.Common.MyInputElement.createClass('js.com.CS.Controls.Common.MyInputElement',js.com.CS.Controls.Common.MyDOMElement,js.com.CS.Controls.Common.IMyDOMElement);js.com.CS.Controls.Common.MySpanElement.createClass('js.com.CS.Controls.Common.MySpanElement',js.com.CS.Controls.Common.MyDOMElement);js.com.CS.Controls.Common.MyTableCellElement.createClass('js.com.CS.Controls.Common.MyTableCellElement',js.com.CS.Controls.Common.MyDOMElement);js.com.CS.Controls.Common.MyTableElement.createClass('js.com.CS.Controls.Common.MyTableElement',js.com.CS.Controls.Common.MyDOMElement);js.com.CS.Controls.Common.MyTableRowElement.createClass('js.com.CS.Controls.Common.MyTableRowElement',js.com.CS.Controls.Common.MyDOMElement);js.com.CS.Controls.Common.ListingControl.Column.createClass('js.com.CS.Controls.Common.ListingControl.Column');js.com.CS.Controls.Common.ListingControl.Listing.createClass('js.com.CS.Controls.Common.ListingControl.Listing');js.com.CS.Controls.Common.ListingControl.ListingItemRow.createClass('js.com.CS.Controls.Common.ListingControl.ListingItemRow');js.com.CS.Controls.Common.ListingControl._rowButtonInstance.createClass('js.com.CS.Controls.Common.ListingControl._rowButtonInstance');js.com.CS.Controls.Common.ListingControl.RowButton.createClass('js.com.CS.Controls.Common.ListingControl.RowButton');js.com.CS.Controls.Dojo.Form.MyHorizontalRuleLabels.createClass('js.com.CS.Controls.Dojo.Form.MyHorizontalRuleLabels');js.com.CS.Controls.Dojo.Form.MyHorizontalSlider.createClass('js.com.CS.Controls.Dojo.Form.MyHorizontalSlider');js.com.CS.Controls.Dojo.Layout.MyContentPane.createClass('js.com.CS.Controls.Dojo.Layout.MyContentPane');js.com.CS.Controls.Dojo.Layout.MySplitContainer.createClass('js.com.CS.Controls.Dojo.Layout.MySplitContainer');js.com.CS.Controls.Form.MyBaseFormElement.createClass('js.com.CS.Controls.Form.MyBaseFormElement',js.com.CS.Controls.Common.MyDOMElement);js.com.CS.Controls.Form.MyBaseButton.createClass('js.com.CS.Controls.Form.MyBaseButton',js.com.CS.Controls.Form.MyBaseFormElement);js.com.CS.Controls.Form.MyButton.createClass('js.com.CS.Controls.Form.MyButton',js.com.CS.Controls.Form.MyBaseButton,js.com.CS.Controls.Form.IMyButtonElement);js.com.CS.Controls.Form.MyCheckBox.createClass('js.com.CS.Controls.Form.MyCheckBox',js.com.CS.Controls.Form.MyBaseFormElement,js.com.CS.Controls.Form.IMyBaseFormElement);js.com.CS.Controls.Form.MyDropDownList.createClass('js.com.CS.Controls.Form.MyDropDownList',js.com.CS.Controls.Form.MyBaseFormElement,js.com.CS.Controls.Form.IMyBaseFormElement);js.com.CS.Controls.Form.MyFileUpload.createClass('js.com.CS.Controls.Form.MyFileUpload',js.com.CS.Controls.Form.MyBaseFormElement,js.com.CS.Controls.Form.IMyBaseFormElement);js.com.CS.Controls.Form.MyRadioButton.createClass('js.com.CS.Controls.Form.MyRadioButton',js.com.CS.Controls.Form.MyBaseFormElement,js.com.CS.Controls.Form.IMyBaseFormElement);js.com.CS.Controls.Form.MyTextBox.createClass('js.com.CS.Controls.Form.MyTextBox',js.com.CS.Controls.Form.MyBaseFormElement,js.com.CS.Controls.Form.IMyBaseFormElement);js.com.CS.Controls.Form.MyTextBoxHidden.createClass('js.com.CS.Controls.Form.MyTextBoxHidden',js.com.CS.Controls.Form.MyTextBox);js.com.CS.Controls.Form.MyTextBoxMultiLine.createClass('js.com.CS.Controls.Form.MyTextBoxMultiLine',js.com.CS.Controls.Form.MyTextBox);js.com.CS.Controls.Form.MyTextBoxPassword.createClass('js.com.CS.Controls.Form.MyTextBoxPassword',js.com.CS.Controls.Form.MyTextBox);js.com.CS.Controls.Form.MyTextBoxSingleLine.createClass('js.com.CS.Controls.Form.MyTextBoxSingleLine',js.com.CS.Controls.Form.MyTextBox);js.com.CS.Controls.Form.Specialized.MyDropDownListMenu.createClass('js.com.CS.Controls.Form.Specialized.MyDropDownListMenu');js.com.CS.General.ListItem.createClass('js.com.CS.General.ListItem');js.com.CS.Controls.Form.Specialized.MyDropDownListMenuListItem.createClass('js.com.CS.Controls.Form.Specialized.MyDropDownListMenuListItem',js.com.CS.General.ListItem);js.com.CS.Forms.FileUploader.UploadProgress.createClass('js.com.CS.Forms.FileUploader.UploadProgress');js.com.CS.Forms.linkedMenu.LinkedMenu.createClass('js.com.CS.Forms.linkedMenu.LinkedMenu');js.com.CS.Forms.linkedMenu.LinkedMenuComboBox.createClass('js.com.CS.Forms.linkedMenu.LinkedMenuComboBox');js.com.CS.Forms.linkedMenu.LinkedMenuLevel.createClass('js.com.CS.Forms.linkedMenu.LinkedMenuLevel');js.com.CS.Forms.Validation.WordsOrCharsLimit.createClass('js.com.CS.Forms.Validation.WordsOrCharsLimit');js.com.CS.Forms.Validation.CharsLimit.createClass('js.com.CS.Forms.Validation.CharsLimit',js.com.CS.Forms.Validation.WordsOrCharsLimit);js.com.CS.Forms.Validation.VALIDATION_PARAMETERS.createClass('js.com.CS.Forms.Validation.VALIDATION_PARAMETERS');js.com.CS.Forms.Validation.OUTPUT_ERROR_MSG.createClass('js.com.CS.Forms.Validation.OUTPUT_ERROR_MSG');js.com.CS.Forms.Validation.Validation.createClass('js.com.CS.Forms.Validation.Validation');js.com.CS.Forms.Validation.WordsLimit.createClass('js.com.CS.Forms.Validation.WordsLimit',js.com.CS.Forms.Validation.WordsOrCharsLimit);js.com.CS.General.Arrays.MyArray.createClass('js.com.CS.General.Arrays.MyArray',null,IArray,IEnumerable);js.com.CS.General.Arrays.MyArrayInt.createClass('js.com.CS.General.Arrays.MyArrayInt',js.com.CS.General.Arrays.MyArray);js.com.CS.General.Arrays.MyArrayString.createClass('js.com.CS.General.Arrays.MyArrayString',js.com.CS.General.Arrays.MyArray);js.com.CS.General.GeneralClass.createClass('js.com.CS.General.GeneralClass');js.com.CS.General.General.createClass('js.com.CS.General.General');js.com.CS.UI.Forms.Button.createClass('js.com.CS.UI.Forms.Button');js.com.CS.UI.Forms.CheckBoxListRequired.createClass('js.com.CS.UI.Forms.CheckBoxListRequired');js.com.CS.UI.Forms.DefaultCSSClasses.createClass('js.com.CS.UI.Forms.DefaultCSSClasses');js.com.CS.UI.Forms.DojoComboBox.createClass('js.com.CS.UI.Forms.DojoComboBox');js.com.CS.UI.Forms.Field.createClass('js.com.CS.UI.Forms.Field');js.com.CS.UI.Forms.FieldCSSHandler.createClass('js.com.CS.UI.Forms.FieldCSSHandler');js.com.CS.UI.Forms.FIELDGROUP_PARAMETERS.createClass('js.com.CS.UI.Forms.FIELDGROUP_PARAMETERS');js.com.CS.UI.Forms.FieldGroup.createClass('js.com.CS.UI.Forms.FieldGroup');js.com.CS.UI.Forms.FieldInputConstraint.createClass('js.com.CS.UI.Forms.FieldInputConstraint');js.com.CS.UI.Forms.FieldValidator.createClass('js.com.CS.UI.Forms.FieldValidator');js.com.CS.UI.Forms.Form.createClass('js.com.CS.UI.Forms.Form');js.com.CS.UI.Forms.FormError.createClass('js.com.CS.UI.Forms.FormError');js.com.CS.UI.Forms.FormsCollection.createClass('js.com.CS.UI.Forms.FormsCollection');js.com.CS.UI.Image.createClass('js.com.CS.UI.Image');js.com.CS.Util.ArrayUtil.createClass('js.com.CS.Util.ArrayUtil');js.com.CS.Util.Console.createClass('js.com.CS.Util.Console');js.com.CS.Util.WindowUtil.createClass('js.com.CS.Util.WindowUtil');js.com.CS.Util.GeneralUtil.createClass('js.com.CS.Util.GeneralUtil');js.com.CS.Util.RandomUtil.createClass('js.com.CS.Util.RandomUtil');js.com.CS.Util.StringUtil.createClass('js.com.CS.Util.StringUtil');js.com.CS.Controls.Common.LoadingCtrl.fadE_IN_OUT_TIME=200;js.com.CS.Forms.FileUploader.UploadProgress.$0=null;js.com.CS.General.GeneralClass.$0=null;js.com.CS.UI.Forms.DefaultCSSClasses.$0=null;js.com.CS.UI.Forms.DefaultCSSClasses.Instance=new js.com.CS.UI.Forms.DefaultCSSClasses();js.com.CS.UI.Forms.FormsCollection.$0=null;js.com.CS.UI.Forms.FormsCollection.CLICKED_BUTTON=false;js.com.CS.UI.Forms.FormsCollection.FORM_SUBMIT=false;js.com.CS.UI.Forms.FormsCollection.HasFileUpload=false;
// ---- Do not remove this footer ----
// Generated using Script# v0.5.1.0 (http://projects.nikhilk.net)
// -----------------------------------
// LagstabudJS.js
//


Type.createNamespace('LagstabudJS');

////////////////////////////////////////////////////////////////////////////////
// LagstabudJS.Class1

LagstabudJS.Class1 = function LagstabudJS_Class1() {
}


LagstabudJS.Class1.createClass('LagstabudJS.Class1');

// ---- Do not remove this footer ----
// Generated using Script# v0.5.1.0 (http://projects.nikhilk.net)
// -----------------------------------
﻿var com_isMerged = false;
var _InExecution = false;
var com = new Object();
com.cs = new Object();

if (!_globalCS) 
    var _globalCS = this;

com.cs.ajax = new Object();
com.cs.CreditCard = new Object();
com.cs.Gallery = new Object();
com.cs.general = new Object();
com.cs.util = new Object();
com.cs.ui = new Object();
com.cs.forms = new Object();

/**
* Class name to register
* @param {String} s
*/
com.cs.initClass = function(s)
{
    var tokens = s.split(".");
    var i;
    var curr = com;
    for (i = 1; i < tokens.length; i++)
    {
        if (curr[tokens[i]] == null)
            curr[tokens[i]] = new Object();
        curr = curr[tokens[i]];
    }

}
com.cs._baseUrl = '/includes';
com.cs._loadedModules = new Array();
com.cs._loadedUrls = new Array();
/**
* Returns the base URL
*/
com.cs.getBaseUrl = function()
{
    var s = com.cs._baseUrl;
    if (s.substr(s.length - 1, 1) != "/")
        s += "/";
    return s;

}





/**
* 
* @param {String} packageName
* @param {Bool} addIfMerged - Whether to add this file, if the file has been merged
*/
com.cs.require = function(packageName, dontAddIfMerged) {
    if (!dontAddIfMerged || dontAddIfMerged == null || dontAddIfMerged == undefined)
        dontAddIfMerged = false;
    if (!dontAddIfMerged || (dontAddIfMerged && !com_isMerged)) {
        packageName = packageName.toLowerCase();
        var modules = com.cs._loadedModules;
        if (modules[packageName] != null)
            return packageName;
        //	var _package = packageName.replace("c","X");
        var _packages = packageName.split(".");
        var i;
        var path = com.cs.getBaseUrl();
        for (i = 0; i < _packages.length; i++) {
            if (i > 0)
                path += "/";
            path += _packages[i];
        }
        path += ".js";
        var ok = false;
        ok = this._loadPath(path, null);
        if (ok)
            modules[packageName] = packageName;
        else {
            //alert("Could not load '" + path + "'.  Please check if file exists, and if it does, check for any javascript errors in file. Try loading it seperately, not using the 'com.cs.require' function");
        }
    }
}

//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
///// C O P I E D   D O J O     F U N C T I O N S ////////////////
///// C O P I E D   D O J O     F U N C T I O N S ////////////////
///// C O P I E D   D O J O     F U N C T I O N S ////////////////
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////

com.cs._loadPath = function(/*String*/relpath, /*String?*/module, /*Function?*/cb){
		// 	summary:
		//		Load a Javascript module given a relative path
		//
		//	description:
		//		Loads and interprets the script located at relpath, which is
		//		relative to the script root directory.  If the script is found but
		//		its interpretation causes a runtime exception, that exception is
		//		not caught by us, so the caller will see it.  We return a true
		//		value if and only if the script is found.
		//
		// relpath: 
		//		A relative path to a script (no leading '/', and typically ending
		//		in '.js').
		// module: 
		//		A module whose existance to check for after loading a path.  Can be
		//		used to determine success or failure of the load.
		// cb: 
		//		a callback function to pass the result of evaluating the script

		var uri = ((relpath.charAt(0) == '/' || relpath.match(/^\w+:/)) ? "" : this.baseUrl) + relpath;
		try{
			return !module ? this._loadUri(uri, cb) : this._loadUriAndCheck(uri, module, cb); // Boolean
		}catch(e){
			console.error(e);
			return false; // Boolean
		}
	}
	com.cs._loadUriAndCheck = function(/*String*/uri, /*String*/moduleName, /*Function?*/cb){
		// summary: calls loadUri then findModule and returns true if both succeed
		var ok = false;
		try{
			ok = this._loadUri(uri, cb);
		}catch(e){
			console.error("failed loading " + uri + " with error: " + e);
		}
		return !!(ok && this._loadedModules[moduleName]); // Boolean
	}
	com.cs._loadUri = function(/*String*/uri, /*Function?*/cb){
		//	summary:
		//		Loads JavaScript from a URI
		//	description:
		//		Reads the contents of the URI, and evaluates the contents.  This is
		//		used to load modules as well as resource bundles. Returns true if
		//		it succeeded. Returns false if the URI reading failed.  Throws if
		//		the evaluation throws.
		//	uri: a uri which points at the script to be loaded
		//	cb: 
		//		a callback function to process the result of evaluating the script
		//		as an expression, typically used by the resource bundle loader to
		//		load JSON-style resources

		if(this._loadedUrls[uri]){
			return true; // Boolean
		}
		var contents = this._getText(uri, true);
		if(!contents){ return false; } // Boolean
		this._loadedUrls[uri] = true;
		this._loadedUrls.push(uri);
		if(cb){
			contents = '('+contents+')';
		}else{
			//Only do the scoping if no callback. If a callback is specified,
			//it is most likely the i18n bundle stuff.
			//contents = this._scopePrefix + contents + this._scopeSuffix;
		}
//		if(d.isMoz){ contents += "\r\n//@ sourceURL=" + uri; } // debugging assist for Firebug
		var value = eval(contents);
		if(cb){ cb(value); }
		return true; // Boolean
	}

		com.cs._isDocumentOk = function(http){
			var stat = http.status || 0;
			return (stat >= 200 && stat < 300) || 	// Boolean
				stat == 304 || 						// allow any 2XX response code
				stat == 1223 || 						// get it out of the cache
				(!stat && (location.protocol=="file:" || location.protocol=="chrome:") ); // Internet Explorer mangled the status code
		}


com.cs._getText = function(/*URI*/ uri, /*Boolean*/ fail_ok){
			// summary: Read the contents of the specified uri and return those contents.
			// uri:
			//		A relative or absolute uri. If absolute, it still must be in
			//		the same "domain" as we are.
			// fail_ok:
			//		Default false. If fail_ok and loading fails, return null
			//		instead of throwing.
			// returns: The response text. null is returned when there is a
			//		failure and failure is okay (an exception otherwise)

			// NOTE: must be declared before scope switches ie. this._xhrObj()
			var http = this._xhrObj();
			var owloc = window.location+"";
			var base = document.getElementsByTagName("base");
			var hasBase = (base && base.length > 0);

			if (!hasBase && com.cs._Url){
				uri = (new com.cs._Url(owloc, uri)).toString();
			}


			
			if(false){
				//Make sure we have a string before string methods are used on uri
				uri += "";
				uri += (uri.indexOf("?") == -1 ? "?" : "&") + String(d.config.cacheBust).replace(/\W+/g,"");
			}

			http.open('GET', uri, false);
			try{
				http.send(null);
				if(!this._isDocumentOk(http)){
					var err = Error("Unable to load "+uri+" status:"+ http.status);
					err.status = http.status;
					err.responseText = http.responseText;
					throw err;
				}
			}catch(e){
				if(fail_ok){ return null; } // null
				// rethrow the exception
				throw e;
			}
			return http.responseText; // String
		}
		
		
		com.cs._Url = function(/*dojo._Url||String...*/){
		// summary: 
		//		Constructor to create an object representing a URL.
		//		It is marked as private, since we might consider removing
		//		or simplifying it.
		// description: 
		//		Each argument is evaluated in order relative to the next until
		//		a canonical uri is produced. To get an absolute Uri relative to
		//		the current document use:
		//      	new dojo._Url(document.baseURI, url)
		var ore = new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$");
		var ire = new RegExp("^((([^\\[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^\\[:]*))(:([0-9]+))?$");
	
		var n = null;
		var d = com.cs;
		var _a = arguments;
		var uri = [_a[0]];
		// resolve uri components relative to each other
		for(var i = 1; i<_a.length; i++){
			if(!_a[i]){ continue; }

			// Safari doesn't support this.constructor so we have to be explicit
			// FIXME: Tracked (and fixed) in Webkit bug 3537.
			//		http://bugs.webkit.org/show_bug.cgi?id=3537
			var relobj = new d._Url(_a[i]+"");
			var uriobj = new d._Url(uri[0]+"");

			if(
				relobj.path == "" &&
				!relobj.scheme &&
				!relobj.authority &&
				!relobj.query
			){
				if(relobj.fragment != n){
					uriobj.fragment = relobj.fragment;
				}
				relobj = uriobj;
			}else if(!relobj.scheme){
				relobj.scheme = uriobj.scheme;

				if(!relobj.authority){
					relobj.authority = uriobj.authority;

					if(relobj.path.charAt(0) != "/"){
						var path = uriobj.path.substring(0,
							uriobj.path.lastIndexOf("/") + 1) + relobj.path;

						var segs = path.split("/");
						for(var j = 0; j < segs.length; j++){
							if(segs[j] == "."){
								// flatten "./" references
								if(j == segs.length - 1){
									segs[j] = "";
								}else{
									segs.splice(j, 1);
									j--;
								}
							}else if(j > 0 && !(j == 1 && segs[0] == "") &&
								segs[j] == ".." && segs[j-1] != ".."){
								// flatten "../" references
								if(j == (segs.length - 1)){
									segs.splice(j, 1);
									segs[j - 1] = "";
								}else{
									segs.splice(j - 1, 2);
									j -= 2;
								}
							}
						}
						relobj.path = segs.join("/");
					}
				}
			}

			uri = [];
			if(relobj.scheme){ 
				uri.push(relobj.scheme, ":");
			}
			if(relobj.authority){
				uri.push("//", relobj.authority);
			}
			uri.push(relobj.path);
			if(relobj.query){
				uri.push("?", relobj.query);
			}
			if(relobj.fragment){
				uri.push("#", relobj.fragment);
			}
		}

		this.uri = uri.join("");

		// break the uri into its main components
		var r = this.uri.match(ore);

		this.scheme = r[2] || (r[1] ? "" : n);
		this.authority = r[4] || (r[3] ? "" : n);
		this.path = r[5]; // can never be undefined
		this.query = r[7] || (r[6] ? "" : n);
		this.fragment  = r[9] || (r[8] ? "" : n);

		if(this.authority != n){
			// server based naming authority
			r = this.authority.match(ire);

			this.user = r[3] || n;
			this.password = r[4] || n;
			this.host = r[6] || r[7]; // ipv6 || ipv4
			this.port = r[9] || n;
		}
	}

	com.cs._Url.prototype.toString = function(){ return this.uri; };
com.cs._XMLHTTP_PROGIDS = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0'];

com.cs._xhrObj = function(){
			// summary: 
			//		does the work of portably generating a new XMLHTTPRequest
			//		object.
			var http = null;
			var last_e = null;
//			if(!dojo.isIE || !dojo.config.ieForceActiveXXhr){
				try{ http = new XMLHttpRequest(); }catch(e){}
	//		}
			if(!http){
				for(var i=0; i<3; ++i){
					var progid = this._XMLHTTP_PROGIDS[i];
					try{
						http = new ActiveXObject(progid);
					}catch(e){
						last_e = e;
					}

					if(http){
						this._XMLHTTP_PROGIDS = [progid];  // so faster next time
						break;
					}
				}
			}

			if(!http){
				throw new Error("XMLHTTP not available: "+last_e);
			}

			return http; // XMLHTTPRequest instance
		}
		
/**
 * Clears all the children nodes from the node
 * @param {String/DOM} node
 */		
com.cs.clear = function(node) {
	if (dojo) {
		node = dojo.byId(node);
	}	
	while(node.childNodes.length > 0) {
		node.removeChild(node.childNodes[0]);
	}
}
		
com.cs.inspect = function(element) {
	for (var x in element) {
		console.log(x + ":" + element);
	}
}
com.cs.unescape = function(str) {
	str = str.replace(/[+]/g, " ");
	return unescape(str);
}

		/*!	SWFObject v2.0 <http://code.google.com/p/swfobject/>
	Copyright (c) 2007 Geoff Stearns, Michael Williams, and Bobby van der Sluis
	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/

var swfobject = function() {
	
	var UNDEF = "undefined",
		OBJECT = "object",
		SHOCKWAVE_FLASH = "Shockwave Flash",
		SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash",
		FLASH_MIME_TYPE = "application/x-shockwave-flash",
		EXPRESS_INSTALL_ID = "SWFObjectExprInst",
		
		win = window,
		doc = document,
		nav = navigator,
		
		domLoadFnArr = [],
		regObjArr = [],
		timer = null,
		storedAltContent = null,
		storedAltContentId = null,
		isDomLoaded = false,
		isExpressInstallActive = false;
	
	/* Centralized function for browser feature detection
		- Proprietary feature detection (conditional compiling) is used to detect Internet Explorer's features
		- User agent string detection is only used when no alternative is possible
		- Is executed directly for optimal performance
	*/	
	var ua = function() {
		var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF && typeof doc.appendChild != UNDEF && typeof doc.replaceChild != UNDEF && typeof doc.removeChild != UNDEF && typeof doc.cloneNode != UNDEF,
			playerVersion = [0,0,0],
			d = null;
		if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) {
			d = nav.plugins[SHOCKWAVE_FLASH].description;
			if (d) {
				d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
				playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10);
				playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10);
				playerVersion[2] = /r/.test(d) ? parseInt(d.replace(/^.*r(.*)$/, "$1"), 10) : 0;
			}
		}
		else if (typeof win.ActiveXObject != UNDEF) {
			var a = null, fp6Crash = false;
			try {
				a = new ActiveXObject(SHOCKWAVE_FLASH_AX + ".7");
			}
			catch(e) {
				try { 
					a = new ActiveXObject(SHOCKWAVE_FLASH_AX + ".6");
					playerVersion = [6,0,21];
					a.AllowScriptAccess = "always";  // Introduced in fp6.0.47
				}
				catch(e) {
					if (playerVersion[0] == 6) {
						fp6Crash = true;
					}
				}
				if (!fp6Crash) {
					try {
						a = new ActiveXObject(SHOCKWAVE_FLASH_AX);
					}
					catch(e) {}
				}
			}
			if (!fp6Crash && a) { // a will return null when ActiveX is disabled
				try {
					d = a.GetVariable("$version");  // Will crash fp6.0.21/23/29
					if (d) {
						d = d.split(" ")[1].split(",");
						playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
					}
				}
				catch(e) {}
			}
		}
		var u = nav.userAgent.toLowerCase(),
			p = nav.platform.toLowerCase(),
			webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // returns either the webkit version or false if not webkit
			ie = false,
			windows = p ? /win/.test(p) : /win/.test(u),
			mac = p ? /mac/.test(p) : /mac/.test(u);
		/*@cc_on
			ie = true;
			@if (@_win32)
				windows = true;
			@elif (@_mac)
				mac = true;
			@end
		@*/
		return { w3cdom:w3cdom, pv:playerVersion, webkit:webkit, ie:ie, win:windows, mac:mac };
	}();

	/* Cross-browser onDomLoad
		- Based on Dean Edwards' solution: http://dean.edwards.name/weblog/2006/06/again/
		- Will fire an event as soon as the DOM of a page is loaded (supported by Gecko based browsers - like Firefox -, IE, Opera9+, Safari)
	*/ 
	var onDomLoad = function() {
		if (!ua.w3cdom) {
			return;
		}
		addDomLoadEvent(main);
		if (ua.ie && ua.win) {
			try {  // Avoid a possible Operation Aborted error
				doc.write("<scr" + "ipt id=__ie_ondomload defer=true src=//:></scr" + "ipt>"); // String is split into pieces to avoid Norton AV to add code that can cause errors 
				var s = getElementById("__ie_ondomload");
				if (s) {
					s.onreadystatechange = function() {
						if (this.readyState == "complete") {
							this.parentNode.removeChild(this);
							callDomLoadFunctions();
						}
					};
				}
			}
			catch(e) {}
		}
		if (ua.webkit && typeof doc.readyState != UNDEF) {
			timer = setInterval(function() { if (/loaded|complete/.test(doc.readyState)) { callDomLoadFunctions(); }}, 10);
		}
		if (typeof doc.addEventListener != UNDEF) {
			doc.addEventListener("DOMContentLoaded", callDomLoadFunctions, null);
		}
		addLoadEvent(callDomLoadFunctions);
	}();
	
	function callDomLoadFunctions() {
		if (isDomLoaded) {
			return;
		}
		if (ua.ie && ua.win) { // Test if we can really add elements to the DOM; we don't want to fire it too early
			var s = createElement("span");
			try { // Avoid a possible Operation Aborted error
				var t = doc.getElementsByTagName("body")[0].appendChild(s);
				t.parentNode.removeChild(t);
			}
			catch (e) {
				return;
			}
		}
		isDomLoaded = true;
		if (timer) {
			clearInterval(timer);
			timer = null;
		}
		var dl = domLoadFnArr.length;
		for (var i = 0; i < dl; i++) {
			domLoadFnArr[i]();
		}
	}
	
	function addDomLoadEvent(fn) {
		if (isDomLoaded) {
			fn();
		}
		else { 
			domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only available in IE5.5+
		}
	}
	
	/* Cross-browser onload
		- Based on James Edwards' solution: http://brothercake.com/site/resources/scripts/onload/
		- Will fire an event as soon as a web page including all of its assets are loaded 
	 */
	function addLoadEvent(fn) {
		if (typeof win.addEventListener != UNDEF) {
			win.addEventListener("load", fn, false);
		}
		else if (typeof doc.addEventListener != UNDEF) {
			doc.addEventListener("load", fn, false);
		}
		else if (typeof win.attachEvent != UNDEF) {
			win.attachEvent("onload", fn);
		}
		else if (typeof win.onload == "function") {
			var fnOld = win.onload;
			win.onload = function() {
				fnOld();
				fn();
			};
		}
		else {
			win.onload = fn;
		}
	}
	
	/* Main function
		- Will preferably execute onDomLoad, otherwise onload (as a fallback)
	*/
	function main() { // Static publishing only
		var rl = regObjArr.length;
		for (var i = 0; i < rl; i++) { // For each registered object element
			var id = regObjArr[i].id;
			if (ua.pv[0] > 0) {
				var obj = getElementById(id);
				if (obj) {
					regObjArr[i].width = obj.getAttribute("width") ? obj.getAttribute("width") : "0";
					regObjArr[i].height = obj.getAttribute("height") ? obj.getAttribute("height") : "0";
					if (hasPlayerVersion(regObjArr[i].swfVersion)) { // Flash plug-in version >= Flash content version: Houston, we have a match!
						if (ua.webkit && ua.webkit < 312) { // Older webkit engines ignore the object element's nested param elements
							fixParams(obj);
						}
						setVisibility(id, true);
					}
					else if (regObjArr[i].expressInstall && !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) { // Show the Adobe Express Install dialog if set by the web page author and if supported (fp6.0.65+ on Win/Mac OS only)
						showExpressInstall(regObjArr[i]);
					}
					else { // Flash plug-in and Flash content version mismatch: display alternative content instead of Flash content
						displayAltContent(obj);
					}
				}
			}
			else {  // If no fp is installed, we let the object element do its job (show alternative content)
				setVisibility(id, true);
			}
		}
	}
	
	/* Fix nested param elements, which are ignored by older webkit engines
		- This includes Safari up to and including version 1.2.2 on Mac OS 10.3
		- Fall back to the proprietary embed element
	*/
	function fixParams(obj) {
		var nestedObj = obj.getElementsByTagName(OBJECT)[0];
		if (nestedObj) {
			var e = createElement("embed"), a = nestedObj.attributes;
			if (a) {
				var al = a.length;
				for (var i = 0; i < al; i++) {
					if (a[i].nodeName.toLowerCase() == "data") {
						e.setAttribute("src", a[i].nodeValue);
					}
					else {
						e.setAttribute(a[i].nodeName, a[i].nodeValue);
					}
				}
			}
			var c = nestedObj.childNodes;
			if (c) {
				var cl = c.length;
				for (var j = 0; j < cl; j++) {
					if (c[j].nodeType == 1 && c[j].nodeName.toLowerCase() == "param") {
						e.setAttribute(c[j].getAttribute("name"), c[j].getAttribute("value"));
					}
				}
			}
			obj.parentNode.replaceChild(e, obj);
		}
	}
	
	/* Fix hanging audio/video threads and force open sockets and NetConnections to disconnect
		- Occurs when unloading a web page in IE using fp8+ and innerHTML/outerHTML
		- Dynamic publishing only
	*/
	function fixObjectLeaks(id) {
		if (ua.ie && ua.win && hasPlayerVersion("8.0.0")) {
			win.attachEvent("onunload", function () {
				var obj = getElementById(id);
				if (obj) {
					for (var i in obj) {
						if (typeof obj[i] == "function") {
							obj[i] = function() {};
						}
					}
					obj.parentNode.removeChild(obj);
				}
			});
		}
	}
	
	/* Show the Adobe Express Install dialog
		- Reference: http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=6a253b75
	*/
	function showExpressInstall(regObj) {
		isExpressInstallActive = true;
		var obj = getElementById(regObj.id);
		if (obj) {
			if (regObj.altContentId) {
				var ac = getElementById(regObj.altContentId);
				if (ac) {
					storedAltContent = ac;
					storedAltContentId = regObj.altContentId;
				}
			}
			else {
				storedAltContent = abstractAltContent(obj);
			}
			if (!(/%$/.test(regObj.width)) && parseInt(regObj.width, 10) < 310) {
				regObj.width = "310";
			}
			if (!(/%$/.test(regObj.height)) && parseInt(regObj.height, 10) < 137) {
				regObj.height = "137";
			}
			doc.title = doc.title.slice(0, 47) + " - Flash Player Installation";
			var pt = ua.ie && ua.win ? "ActiveX" : "PlugIn",
				dt = doc.title,
				fv = "MMredirectURL=" + win.location + "&MMplayerType=" + pt + "&MMdoctitle=" + dt,
				replaceId = regObj.id;
			// For IE when a SWF is loading (AND: not available in cache) wait for the onload event to fire to remove the original object element
			// In IE you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
			if (ua.ie && ua.win && obj.readyState != 4) {
				var newObj = createElement("div");
				replaceId += "SWFObjectNew";
				newObj.setAttribute("id", replaceId);
				obj.parentNode.insertBefore(newObj, obj); // Insert placeholder div that will be replaced by the object element that loads expressinstall.swf
				obj.style.display = "none";
				win.attachEvent("onload", function() { obj.parentNode.removeChild(obj); });
			}
			createSWF({ data:regObj.expressInstall, id:EXPRESS_INSTALL_ID, width:regObj.width, height:regObj.height }, { flashvars:fv }, replaceId);
		}
	}
	
	/* Functions to abstract and display alternative content
	*/
	function displayAltContent(obj) {
		if (ua.ie && ua.win && obj.readyState != 4) {
			// For IE when a SWF is loading (AND: not available in cache) wait for the onload event to fire to remove the original object element
			// In IE you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
			var el = createElement("div");
			obj.parentNode.insertBefore(el, obj); // Insert placeholder div that will be replaced by the alternative content
			el.parentNode.replaceChild(abstractAltContent(obj), el);
			obj.style.display = "none";
			win.attachEvent("onload", function() { obj.parentNode.removeChild(obj); });
		}
		else {
			obj.parentNode.replaceChild(abstractAltContent(obj), obj);
		}
	}	

	function abstractAltContent(obj) {
		var ac = createElement("div");
		if (ua.win && ua.ie) {
			ac.innerHTML = obj.innerHTML;
		}
		else {
			var nestedObj = obj.getElementsByTagName(OBJECT)[0];
			if (nestedObj) {
				var c = nestedObj.childNodes;
				if (c) {
					var cl = c.length;
					for (var i = 0; i < cl; i++) {
						if (!(c[i].nodeType == 1 && c[i].nodeName.toLowerCase() == "param") && !(c[i].nodeType == 8)) {
							ac.appendChild(c[i].cloneNode(true));
						}
					}
				}
			}
		}
		return ac;
	}
	
	/* Cross-browser dynamic SWF creation
	*/
	function createSWF(attObj, parObj, id) {
		var r, el = getElementById(id);
		if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content
			attObj.id = id;
		}
		if (ua.ie && ua.win) { // IE, the object element and W3C DOM methods do not combine: fall back to outerHTML
			var att = "";
			for (var i in attObj) {
				if (attObj[i] != Object.prototype[i]) { // Filter out prototype additions from other potential libraries, like Object.prototype.toJSONString = function() {}
					if (i == "data") {
						parObj.movie = attObj[i];
					}
					else if (i.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
						att += ' class="' + attObj[i] + '"';
					}
					else if (i != "classid") {
						att += ' ' + i + '="' + attObj[i] + '"';
					}
				}
			}
			var par = "";
			for (var j in parObj) {
				if (parObj[j] != Object.prototype[j]) { // Filter out prototype additions from other potential libraries
					par += '<param name="' + j + '" value="' + parObj[j] + '" />';
				}
			}
			el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + par + '</object>';
			fixObjectLeaks(attObj.id); // This bug affects dynamic publishing only
			r = getElementById(attObj.id);	
		}
		else if (ua.webkit && ua.webkit < 312) { // Older webkit engines ignore the object element's nested param elements: fall back to the proprietary embed element
			var e = createElement("embed");
			e.setAttribute("type", FLASH_MIME_TYPE);
			for (var k in attObj) {
				if (attObj[k] != Object.prototype[k]) { // Filter out prototype additions from other potential libraries
					if (k == "data") {
						e.setAttribute("src", attObj[k]);
					}
					else if (k.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
						e.setAttribute("class", attObj[k]);
					}
					else if (k != "classid") { // Filter out IE specific attribute
						e.setAttribute(k, attObj[k]);
					}
				}
			}
			for (var l in parObj) {
				if (parObj[l] != Object.prototype[l]) { // Filter out prototype additions from other potential libraries
					if (l != "movie") { // Filter out IE specific param element
						e.setAttribute(l, parObj[l]);
					}
				}
			}
			el.parentNode.replaceChild(e, el);
			r = e;
		}
		else { // Well-behaving browsers
			var o = createElement(OBJECT);
			o.setAttribute("type", FLASH_MIME_TYPE);
			for (var m in attObj) {
				if (attObj[m] != Object.prototype[m]) { // Filter out prototype additions from other potential libraries
					if (m.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
						o.setAttribute("class", attObj[m]);
					}
					else if (m != "classid") { // Filter out IE specific attribute
						o.setAttribute(m, attObj[m]);
					}
				}
			}
			for (var n in parObj) {
				if (parObj[n] != Object.prototype[n] && n != "movie") { // Filter out prototype additions from other potential libraries and IE specific param element
					createObjParam(o, n, parObj[n]);
				}
			}
			el.parentNode.replaceChild(o, el);
			r = o;
		}
		return r;
	}
	
	function createObjParam(el, pName, pValue) {
		var p = createElement("param");
		p.setAttribute("name", pName);	
		p.setAttribute("value", pValue);
		el.appendChild(p);
	}
	
	function getElementById(id) {
		return doc.getElementById(id);
	}
	
	function createElement(el) {
		return doc.createElement(el);
	}
	
	function hasPlayerVersion(rv) {
		var pv = ua.pv, v = rv.split(".");
		v[0] = parseInt(v[0], 10);
		v[1] = parseInt(v[1], 10);
		v[2] = parseInt(v[2], 10);
		return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false;
	}
	
	/* Cross-browser dynamic CSS creation
		- Based on Bobby van der Sluis' solution: http://www.bobbyvandersluis.com/articles/dynamicCSS.php
	*/	
	function createCSS(sel, decl) {
		if (ua.ie && ua.mac) {
			return;
		}
		var h = doc.getElementsByTagName("head")[0], s = createElement("style");
		s.setAttribute("type", "text/css");
		s.setAttribute("media", "screen");
		if (!(ua.ie && ua.win) && typeof doc.createTextNode != UNDEF) {
			s.appendChild(doc.createTextNode(sel + " {" + decl + "}"));
		}
		h.appendChild(s);
		if (ua.ie && ua.win && typeof doc.styleSheets != UNDEF && doc.styleSheets.length > 0) {
			var ls = doc.styleSheets[doc.styleSheets.length - 1];
			if (typeof ls.addRule == OBJECT) {
				ls.addRule(sel, decl);
			}
		}
	}
	
	function setVisibility(id, isVisible) {
		var v = isVisible ? "visible" : "hidden";
		if (isDomLoaded) {
			getElementById(id).style.visibility = v;
		}
		else {
			createCSS("#" + id, "visibility:" + v);
		}
	}
	
	return {
		/* Public API
			- Reference: http://code.google.com/p/swfobject/wiki/SWFObject_2_0_documentation
		*/ 
		registerObject: function(objectIdStr, swfVersionStr, xiSwfUrlStr) {
			if (!ua.w3cdom || !objectIdStr || !swfVersionStr) {
				return;
			}
			var regObj = {};
			regObj.id = objectIdStr;
			regObj.swfVersion = swfVersionStr;
			regObj.expressInstall = xiSwfUrlStr ? xiSwfUrlStr : false;
			regObjArr[regObjArr.length] = regObj;
			setVisibility(objectIdStr, false);
		},
		
		getObjectById: function(objectIdStr) {
			var r = null;
			if (ua.w3cdom && isDomLoaded) {
				var o = getElementById(objectIdStr);
				if (o) {
					var n = o.getElementsByTagName(OBJECT)[0];
					if (!n || (n && typeof o.SetVariable != UNDEF)) {
				    	r = o;
					}
					else if (typeof n.SetVariable != UNDEF) {
						r = n;
					}
				}
			}
			return r;
		},
		
		embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj) {
			if (!ua.w3cdom || !swfUrlStr || !replaceElemIdStr || !widthStr || !heightStr || !swfVersionStr) {
				return;
			}
			widthStr += ""; // Auto-convert to string to make it idiot proof
			heightStr += "";
			if (hasPlayerVersion(swfVersionStr)) {
				setVisibility(replaceElemIdStr, false);
				var att = (typeof attObj == OBJECT) ? attObj : {};
				att.data = swfUrlStr;
				att.width = widthStr;
				att.height = heightStr;
				var par = (typeof parObj == OBJECT) ? parObj : {};
				if (typeof flashvarsObj == OBJECT) {
					for (var i in flashvarsObj) {
						if (flashvarsObj[i] != Object.prototype[i]) { // Filter out prototype additions from other potential libraries
							if (typeof par.flashvars != UNDEF) {
								par.flashvars += "&" + i + "=" + flashvarsObj[i];
							}
							else {
								par.flashvars = i + "=" + flashvarsObj[i];
							}
						}
					}
				}
				addDomLoadEvent(function() {
					createSWF(att, par, replaceElemIdStr);
					if (att.id == replaceElemIdStr) {
						setVisibility(replaceElemIdStr, true);
					}
				});
			}
			else if (xiSwfUrlStr && !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) {
				setVisibility(replaceElemIdStr, false);
				addDomLoadEvent(function() {
					var regObj = {};
					regObj.id = regObj.altContentId = replaceElemIdStr;
					regObj.width = widthStr;
					regObj.height = heightStr;
					regObj.expressInstall = xiSwfUrlStr;
					showExpressInstall(regObj);
				});
			}
		},
		
		getFlashPlayerVersion: function() {
			return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] };
		},
		
		hasFlashPlayerVersion:hasPlayerVersion,
		
		createSWF: function(attObj, parObj, replaceElemIdStr) {
			if (ua.w3cdom && isDomLoaded) {
				return createSWF(attObj, parObj, replaceElemIdStr);
			}
			else {
				return undefined;
			}
		},
		
		createCSS: function(sel, decl) {
			if (ua.w3cdom) {
				createCSS(sel, decl);
			}
		},
		
		addDomLoadEvent:addDomLoadEvent,
		
		addLoadEvent:addLoadEvent,
		
		getQueryParamValue: function(param) {
			var q = doc.location.search || doc.location.hash;
			if (param == null) {
				return q;
			}
		 	if(q) {
				var pairs = q.substring(1).split("&");
				for (var i = 0; i < pairs.length; i++) {
					if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {
						return pairs[i].substring((pairs[i].indexOf("=") + 1));
					}
				}
			}
			return "";
		},
		
		// For internal usage only
		expressInstallCallback: function() {
			if (isExpressInstallActive && storedAltContent) {
				var obj = getElementById(EXPRESS_INSTALL_ID);
				if (obj) {
					obj.parentNode.replaceChild(storedAltContent, obj);
					if (storedAltContentId) {
						setVisibility(storedAltContentId, true);
						if (ua.ie && ua.win) {
							storedAltContent.style.display = "block";
						}
					}
					storedAltContent = null;
					storedAltContentId = null;
					isExpressInstallActive = false;
				}
			} 
		}
		
	};

}();
﻿com.cs.initClass('com.cs.ui.form');

com.cs.ui.form.defaultCSSClasses =
{
    NotUsed : true
}
﻿//com.cs.require("com.cs.ui.form"); //this is automatically included by C# if you call ProcessForm()
var djConfig = {
    isDebug: false, parseOnLoad: true
};
/*
if (!com_isMerged) {
    com.cs.require("com.cs.ui.form");
    com.cs.require("com.cs.ui.element");
    com.cs.require("com.cs.ui.button");
    com.cs.require("com.cs.ui.image");


    com.cs.require("com.cs.forms.FileUploader");
    com.cs.require("com.cs.general.window");
    com.cs.require("com.cs.general.align");
    com.cs.require("com.cs.general.popup");

    com.cs.require("com.cs.general.functions");
    com.cs.require("com.cs.General.Util.Text");


    com.cs.require("com.karl_js.ajax");
    com.cs.require("com.karl_js.DropDownCheckList");
}*/
/*
com.cs.ui.form.defaultCSSClasses = {
    CLASS_NOFOCUS: '',
    CLASS_NOFOCUS_OVER: '',
    CLASS_FOCUS: '',
    CLASS_ERROR: '',
    CLASS_ERROR_OVER: '',
    CLASS_ERROR_FOCUS: '',
    CLASS_DISABLED: '',
    CLASS_READONLY: '',
    CLASS_REQUIRED: '' //This is APPENDED to the className, not set.  Like 'field_nofocus required'
}
*/

js.com.CS.UI.Forms.DefaultCSSClasses.Instance.NotUsed = true;
/*************************************/
   